⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daterange.as

📁 QS我也没用过
💻 AS
字号:
package qs.utils
{
	public class DateRange
	{
		public var start:Date;
		public var end:Date;
		public function DateRange(start:Date = null,end:Date = null):void
		{
			this.start = start;
			this.end = (end != null)? end:
					   (start != null)? new Date(start.getTime()):
					   null;
		}

		public function get milliSpan():int 
		{
			return end.getTime() - start.getTime();
		}
		public function get duration():Number
		{
			return end.getTime() - start.getTime();
		}
		public function set duration(value:Number):void
		{
			end = new Date(start.getTime() + value);
		}
		public function clone():DateRange
		{
			return new DateRange(new Date(this.start),new Date(this.end));
		}
		
		public function contains(value:Date):Boolean
		{
			return (value >= start && value <= end);
		}

		public function containsRange(value:DateRange):Boolean
		{
			return (value.start >= start && value.end <= end);
		}
		
		public function get valid():Boolean
		{
			return (end >= start);
		}
		public function intersect(rhs:DateRange):DateRange
		{
			return new DateRange(	
				new Date(Math.max(start.getTime(),rhs.start.getTime())),
				new Date(Math.min(end.getTime(), rhs.end.getTime()))
				);
						 
		}
		public function moveTo(newStart:Date):void
		{
			var diff:Number = newStart.getTime() - start.getTime();
			end.setTime(end.getTime() + diff);
			start.setTime(newStart.getTime());
		}
		
		public function toString():String
		{
			return start.toString() + " -- " + end.toString();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -