2014-04-01 63 views
0

在Javascript中,我需要将一天添加到unix纪元时间戳。所以,我尝试在我的日期中添加24 * 60 * 60 * 1000或86400000毫秒,例如:1396306800000,其中根据http://www.epochconverter.com/为:4/1/2014 12:00:00 AM GMT+1。现在,当我尝试添加一天来获得结果时,1396393200000即:4/2/2014 12:00:00 AM GMT+1Unix纪元时间:添加日期

只有一天吧?

现在,我尝试减去一天从原来1396306800000得到13962204000003/31/2014 12:00:00 AM GMT+1

到目前为止,一切都很好。

现在,如果我做一个减,我得到这个:1396134000000这是3/29/2014 11:00:00 PM GMT+0

如何,这可能吗?随后的减法运行相同的偏移。但在这个特殊的时刻,3月30日完全被忽略了。谁能告诉我发生了什么事?

回答

1

夏令时。可能British Summer Time

你可能在

3/31/2014 12:00:00 AM GMT+1 

如果你看一下早日忽略了​​,这是GMT+0:在

3/29/2014 11:00:00 PM GMT+0 

英国(和其他国家),切换时区3月的最后一个星期天,即今年3月30日(2014年)。该网站使用您当地的时区设置。这解释了一个小时的明显差异。

1

它不会跳过一天,你没有考虑夏令时。

在夏令时调整过程中,当天只有23小时,您正在从中减去24小时。

0

我正在查看您提供的链接并计算出来,并提供了正确的结果。

所以,如果你从1396306800000减一的日子,所以它成为1396220400000 = 1396306800000-86400000

和输出

GMT:孙老师,2014年3月30日23:00:00 GMT