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

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

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

 

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

 

时间不早了,睡觉!

 

补充:使用Date类的setTime()方法,可以把一个毫秒数填充到Date对象中,获取时间更方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章