这是怎么发生的?
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
答案 0 :(得分:6)
每月的日期从1开始编号,而不是0.一个月的第0天是上个月的最后一天。
另请注意,您使用的API将在本地时区构建日期。即使您构建2014年1月1日的日期,如果您当地的时区是格林尼治标准时间,那么它在该日期的格林威治标准时间仅为午夜。
答案 1 :(得分:3)
Date
已本地化,并且遵循本地计算机的时区。显然你处于GMT + 5时区,而另一个答案指出休息日是由基于1的天数偏移来解释的。