您的位置:首页 > 其它

使用getTimer()获取的时间转换成Date不要忘记时区

2010-04-14 23:03 246 查看
最近在转换getTimer()获取的数字时间转换成Date时遇到了个挺郁闷的问题,折腾了很久总算找到了问题的所在,在此记录下。

getTimer方法获取的时间是从1970年1月1日 0:0:0:000开始到当前所经过的毫秒数,在某些应用中可能需要的是这个值,而不是一个Date对象。如果想知道这个值所对应的具体时分秒,就得做一些转换,例如:

var time:Number = getTimer();
var ms:int = int(time % 1000);  //毫秒
time /= 1000;
var ss:int = int(time % 60);    // 秒
time /= 60;
var MM:int = int(time % 60);    // 分
time /= 60;
var hh:int = int(time % 24);    // 小时
// 转换日期略


但是在我转换小时的时候,每次得到的结果都不正确,我把getTimer获得的值使用计算器来计算依然不正确,郁闷了很久,突然想到咱们使用的是北京时间,所属东8区,应该在标准时间上加8小时,即"var hh:int = int(time % 24) + 8;" 最终结果正确。

时间不早了,睡觉!

补充:使用Date类的setTime()方法,可以把一个毫秒数填充到Date对象中,获取时间更方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐