Javascript求助,Unix时间戳和日期的转换问题

2011-03-06 19:10:41 +08:00
 napoleonu
以下是我在Chrome console中的计算过程,结果让我迷惑

没学过Javascript,只是看着别人这么写所以这样用。

Math.round(new Date().getTime()/1000)
1299408914

Math.round(new Date(2011, 02, 01, 00, 00, 0).getTime()/1000)
1298908800

new Date(1298908800 * 1000).toLocaleString()
"Tue Mar 01 2011 00:00:00 GMT+0800 (China Standard Time)"

new Date(1299408914 * 1000).toLocaleString()
"Sun Mar 06 2011 18:55:14 GMT+0800 (China Standard Time)"

Math.round(new Date(2011, 03, 01, 00, 00, 0).getTime()/1000)
1301587200

new Date(1301587200 * 1000).toLocaleString()
"Fri Apr 01 2011 00:00:00 GMT+0800 (China Standard Time)"
4685 次点击
所在节点    问与答
5 条回复
napoleonu
2011-03-06 19:17:27 +08:00
不知道为什么差一个月,,,
darasion
2011-03-06 19:33:35 +08:00
时间戳我经常这样用: Number(new Date)

没看太懂。
现在不是3月吗?你用一个2月的跟它比较,当然差一个月了。。
darasion
2011-03-06 19:37:09 +08:00
啊。查了一下手册。

月份范围是 0-11 。
napoleonu
2011-03-06 19:45:46 +08:00
@darasion 谢谢,我也猜到了 :)
shanghaikid
2011-03-06 20:21:26 +08:00
js是从0开始算的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/9368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX