Unix纪元时间:增加天数

时间:2014-04-01 11:38:53

标签: javascript unix datetime

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

只有一天,对吧?

现在,我尝试从原始1396220400000中减去一天,以获得3/31/2014 12:00:00 AM GMT+11396134000000

到目前为止,非常好。

现在,如果我再做一次减法,我会得到:3/29/2014 11:00:00 PM GMT+0 {{1}}

这怎么可能?随后的减法将以相同的偏移顺利进行。但在这个特殊时刻,3月30日完全被忽略了。谁能告诉我发生了什么?

3 个答案:

答案 0 :(得分:1)

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

在夏令时调整期间,这一天只有23小时,您将从中减去24小时。

答案 1 :(得分:1)

夏令时。可能是British Summer Time

您可能忽略了

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

如果您查看较早的日期,请GMT+0

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

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

答案 2 :(得分:0)

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

因此,如果您从1396306800000减去一天,那么它将变为1396220400000 = 1396306800000-86400000

,输出

GMT:Sun,2014年3月30日23:00:00 GMT