需求:前端或后台交互时间需要精确到毫秒
背景知识:毫秒数计算开始时间是1970年1月1日午夜
测试解决方案:以下4个例子均在火狐FireBug控制台测试
1.毫秒数解析成时间
>>> new Date(1262320230000)
Date {Fri Jan 01 2010 12:30:30 GMT+0800}
>>> new Date(1262320230030)
Date {Fri Jan 01 2010 12:30:30 GMT+0800}
结论:毫秒数可以解析成时间,显示精度到秒
2.日期对象获取毫秒数
>>> new Date(1262320230030).getTime()
1262320230030
>>> new Date('2012/06/02 12:02:03').getTime()
1338609723000
结论:种毫秒得毫秒
3.创建日期对象
>>> new Date('2012/06/02 12:02:03')
Date {Sat Jun 02 2012 12:02:03 GMT+0800}
>>> new Date('2012/06/02 12:02:03.030')
Date {Invalid Date}
>>> new Date('2012-06-02 12:02:03')
Date {Invalid Date}
结论:无法将带毫秒的日期字符串创建时间对象
4.解析时间
>>> Date.parse('2012/06/02 12:02:03.030')
NaN
>>> Date.parse('2012/06/02 12:02:03')
1338609723000
结论:无法解析带毫秒的日期对象
谷歌控制台
1.创建日期对象
new
Date('2012-06-02 12:02:03.222')
Sat Jun 02 2012 12:02:03 GMT+0800 (中国标准时间)
new Date('2012-06-02 12:02:03.222') .getTime()
1338609723222
2.解析时间
Date.parse('2012/06/02 12:02:03.222')
1338609723222
终结:若前端对日期的解析需要精确到毫秒,那么后端与前端的时间交互格式最好选择毫秒数。