`
hanyi366
  • 浏览: 284513 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

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; 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics