Unix 纪元时间:添加天数

Unix epoch time: Adding days

本文关键字:添加 纪元 时间 Unix      更新时间:2023-09-26

在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+1

就一天,对吧?

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

目前为止,一切都好。

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

怎么,这可能吗?后续减法在相同的偏移量下顺利进行。但在这个特定的时间点,3月30日被完全跳过了。谁能告诉我发生了什么?

令时。可能是英国夏令时。

您可能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 年)。该网站使用您的本地时区设置。这解释了一小时的明显差异。

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

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

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

因此,如果您从1396306800000中减去一天,则变为 1396220400000=1396306800000-86400000

输出为

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