Javascript日期没有任何意义

时间:2014-09-11 14:19:22

标签: javascript

这是怎么发生的?

var d = new Date(2014, 0, 0, 0, 0 , 0, 0);   
assert(d.getTime()/1000 == 1388534400);     // somehow, this results in assert(1388466000 == 1388534400)

为什么不会在2014年1月1日星期三00:00:00 GMT,而不是Tue,2013年12月31日05:00:00 GMT

2 个答案:

答案 0 :(得分:6)

每月的日期从1开始编号,而不是0.一个月的第0天是上个月的最后一天。

另请注意,您使用的API将在本地时区构建日期。即使您构建2014年1月1日的日期,如果您当地的时区是格林尼治标准时间,那么它在该日期的格林威治标准时间仅为午夜。

答案 1 :(得分:3)

Date已本地化,并且遵循本地计算机的时区。显然你处于GMT + 5时区,而另一个答案指出休息日是由基于1的天数偏移来解释的。