Javascript Unix纪元时间:添加天数

Javascript Unix纪元时间:添加天数,javascript,unix,datetime,Javascript,Unix,Datetime,在Javascript中,我需要在unix epoch时间戳中添加一天。所以,我试着给我的日期加上24*60*60*1000或86400000毫秒,比如说:139630680000,根据is:2014年1月4日凌晨12:00:00 GMT+1。现在,当我试着给它加上一天,得到结果,1396393200000,也就是:4/2/2014 12:00:00 AM GMT+1 就一天,对吗 现在,我尝试从原始的139630680000中减去一天,得到1396220400000或3/31/2014 12:

在Javascript中,我需要在unix epoch时间戳中添加一天。所以,我试着给我的日期加上24*60*60*1000或86400000毫秒,比如说:139630680000,根据is:
2014年1月4日凌晨12:00:00 GMT+1
。现在,当我试着给它加上一天,得到结果,
1396393200000
,也就是:
4/2/2014 12:00:00 AM GMT+1

就一天,对吗

现在,我尝试从原始的
139630680000
中减去一天,得到
1396220400000
3/31/2014 12:00:00 AM GMT+1

到目前为止,一切顺利

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


怎么可能呢?后续的减法操作将以相同的偏移顺利进行。但在这个特殊的时刻,3月30日完全被跳过了。有谁能告诉我发生了什么事吗?

这不是一天不做的事,你没有考虑夏令时


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

夏令时。可能吧

您可能忽略了中的
GMT+1

3/31/2014 12:00:00 AM GMT+1
如果您查看较早的日期,则为
GMT+0

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

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

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

所以如果你从1396306800000减去一天,那么它就变成139620400000=1396306800000-86400000

输出是

格林尼治标准时间:2014年3月30日星期日23:00:00格林尼治标准时间