首页 > 代码库 > ActionScript 3.0日期与时间管理(Date类)

ActionScript 3.0日期与时间管理(Date类)

/*Flash中,Date类管理着日期和时间信息.要获取
   当前日期,可以新建一个Date对象   */
var now:Date =new Date();
trace (now);     /*输出当前时间和日期,格式如:
                  Sun Jul 27 19:45:57 GMT+0800 2014  */

/*以上代码中,Date对象中包括了当前的秒、分、小时、
  星期数、日、月、年、时区等信息...如果仅需要返
  回星期值和日期值,而不返回时间或时区,可以使用Date
  对象的toDateString()方法.*/
var now1:Date =new Date();
trace (now1.toDateString());  /*输出当前时间和日期,格式如:
                                Sun Jul 27 2014     */
/*使用Date类的hours属性可以获取当前的小时信息
            Date对象的常用属性还有:
            fullYear         返回完整年份值,如2014
            month   返回月份值,月份表示范围是0~11,其0表一月
            date    返回指定的月中某天的值,范围1~31
            day    返回星期值,范围0~6,其中0表周日
            minutes   返回分钟值,0~59
            milliseconds     返回对象中的毫秒数,0~999  */
trace(now.hours);     //这样的属性典型的运用就是电子钟的制作

 

 

/*除了使用Date类的属性来获取当前的事件信息,还可以使用Date类提供的
 一些方法来获取时间信息,且效果相同,例如当前小时信息  */
trace(now.getHours());

/*上面的方法获取的都是计算机当前设置时区的小时数.在设置时区为北京
  (GMT+08:00)的电脑中,使用getHours()方法将返回北京时间的小时数,若
  想获取世界标准时间,则使用getUTCHours()方法.    */
 trace(now.getUTCHours());


/* 那么,通过通用时间(UTC),我们就可以方便地获取世界上任何一个时区的
   当前时间了.例如纽约时区(GMT-05:00),将它定义为字符串变量timezone,
   介绍一个字符串的substring()方法,截取字符串中第5和第6个字符,并强
   制转换为数字类型,保存在timezonehours变量里面,此时timezonehours=-5
   表示比通用时间晚5个小时.我们只需要再获取当前通用小时数,就可以得到
   当前的纽约时间  */
 var timezone:String= "GMT-05:00";
 var timezonehours:Number=Number(timezone.substring(4,6));
 var now_1:Date=new Date();
 trace(now_1.getHours());    /*输出结果会根据设置和测试时间不同而有
                           所不同,如当前为北京时间19点,则将输出19 */
 trace(now_1.getUTCHours()-timezonehours);  //是加是减取决于时区加减
                          /*输出6,表示当前纽约时间是上午6点.
                        
/*新建Date对象的过程中,如果我们不传入任何参数,输出将是当前时间.而如果
  传入参数的话,就可以设置对象时间和日期.Date对象可以传入的参数有7个,
  分别是 年,月,日,小时,分钟,秒和毫秒.注意月份范围0~11表示    */
var date:Date=new Date(2014,6,27,19,52);
trace(date);    //输出Sun Jul 27 19:52:00 GMT+0800 2014

//也可以修改对象中的时间和日期,使用setHours()方法来修改前面代码小时数  
date.setHours(20)
trace(date);    //输出Sun Jul 27 20:52:00 GMT+0800 2014


/*Date对象还提供有parse()方法,可将某一日期转话为自1970年1月1日起至今
   已经经过的毫秒数 */
var datenow:String="Sun Jul 27 2014";
trace (Date.parse(datenow));    //输出1406390400000


 

 


 Flash的输出面板里预览结果