AS中Date类的易混淆属性

来源:互联网 发布:单片机 pc 编辑:程序博客网 时间:2024/06/04 20:11

今天在修改一个flex时,flash上总是得不到服务器上传来的值,最后在服务器端生成xml的php那里debug才发现传来的参数(年、月、日)是错误的。

并不是设想中的今日的日期,而是2010 8 1这样月初的三个值。

回到flex查bug,发现取得当地日期的代码如下:

 

var initDate : Date = new Date(); var initYear : Number = initDate.fullYear; var initMonth : Number = initDate.month+1; var initDay : Number = initDate.day;

 

解释如下:

fullYear : Number     按照本地时间返回 Date 对象中的完整年份值(一个 4 位数,例如 2000)。

month :  Number       按照本地时间返回 Date 对象的月份值(0 代表一月,1 代表二月,依此类推)。

day : Number    按照本地时间返回该 Date 所指定的星期值(0 代表星期日,1 代表星期一,依此类推)。

恩  问题就很明显了。今天是礼拜一,day的值为1,难怪post给服务器端的日期是 2010 8 1,而不是2010 8 23。

正确得到日期数的属性是date。

date : Number按照本地时间返回 Date 对象所指定的表示月中某天的值(1 到 31 之间的一个整数)。

感觉AS的变量命名规则有点误导人。。。