您的位置:首页 > 其它

flex关于时间的计算

2011-10-14 14:00 309 查看
最近flex项目中用到了关于时间的计算,也从网上找了些资料。自己整理了一下,方便以后查询

1.计算两时间的差值

var date1:Date ;

var date2:Date;

var num1:Number =date1.valueOf();

var num2:Number =date2.valueOf();

var different:Number = num2-num1;

var diffDay:int = int(diff/24/60/60/1000);//方法1

var d1Days : int = int(num1/ 24 / 60 / 60 / 1000);

var d2Days : int = int(num2/ 24 / 60 / 60 / 1000);

var diffDay2:int = d1Days -d2Days ;//方法2

说明:日期类型 Date 的方法 valueOf 返回指定日期自 1970年1月1日凌晨开始的间隔毫秒数,然后每天的毫秒数是:24*60*60*1000,然后再计算相差的天数

方法一:计算两个日期之间间隔的毫秒数,再运算得到间隔天数

方法二:计算两个日期基于基准日期的天数,再计算差值

2.时间相加

以下是时间相加的公共方法,参数分别为:datepart代表添加的时间类型(可以为年、月、天等等),number代表添加的时间类型的具体值,代表从那天开始添加。例如:

dateAdd("month",5,new Date())就表示在当前时间基础上添加5个月。

private function dateAdd(datepart:String="", number:Number=0, date:Date=null):Date

{

if (date == null)

{

date=new Date();

}

var returnDate:Date=new Date(date.time);

switch (datepart.toLowerCase())

{

case "fullyear":

case "month":

case "date":

case "hours":

case "minutes":

case "seconds":

case "milliseconds":

returnDate[datepart]+=number;

break;

default:

break;

}

var newdate:Date=new Date(returnDate.getFullYear(), returnDate.getMonth(), returnDate.date - 1);

return newdate;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: