FLEX日期处理方法

 最近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;
    }

3:对日期加1天。

//给定的日期上加一天
            private function addOneDay(day:int, mydate:Date):Date
            {
                var returnDate:Date = new Date(mydate.time);
                returnDate['date'] += day //day就是你要加的天数,如果是加1天则为1,如果是减天则为-1
                return returnDate;   
            }


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jinxinxin1314/archive/2009/11/23/4854832.aspx


======================================================================
Date实例的创建有以下几种方法:
var flexDate:Date=new Date();
返回系统当前时间
var flexDate1:Date=new Date(1000*60*60*24*365*39);
返回从1970年1月1日0点0分0秒开始,经过给定整型值毫秒数时间的日期和时间
var flexDate:Date=new Date(2009,0,1,0,0,0,0);
返回根据给定的年、月、日和小时、分钟、秒的整型值来构建的一个日期类型的实例

Date类的时间相关属性


fullYear    
表示日期中,公历年的数值。

month
表示日期中,月的数值。取值范围(0-11)。

date
表示日期中,日的数值。取值范围(1-31)。

day
表示日期中,的星期几。取值范围(0-6)。0代表星期日。1代表星期一,2代表星期二,依次类推。

hours
表示日期中,的小时数。取值范围(0-23)。

minutes
表示日期中,的分钟数。取值范围(0-59)。

seconds
表示日期中,的秒数。取值范围为(0-59)。

milliseconds
表示日期中,的毫秒数。取值范围为(0-999)

关于日期天数、年、日的相关计算:
例:
var dateNow:Date = new Date();
加一年 dateNow[fullYear]+=1;
加一月 dateNow[month]+=1;
加一天 dateNow[date]+=1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值