Epoch Timestamp和Unix时间之间有什么区别?

nafvub8i  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(308)

调用一个API,我需要以毫秒为单位来指定时间。我在Python 3中使用DateTime来转换人类可读的日期和时间。但是在调试时,根据我使用的网站的不同,我得到了不同的结果,所以当时间戳(可能)错误时,我很难进行调试。API没有在 predicate 中合并时间和日期,而是使用毫秒来表示两者。
让我们看一下日期 predicate 1656547200000
如果我转到https://currentmillis.com,它说是6月30日,一切正常。如果我转到https://www.epochconverter.com,它说是6月30日,一切正常。
让我们看一下从12600000到26700000的时间 predicate 。
如果我转到https://currentmillis.com,则显示为UTC(24 h)03:30 - 07:25如果我转到https://www.epochconverter.com,则显示为UTC(24 h)20:00 - 00:40
为什么结果会不同呢?

kd3sttzy

kd3sttzy1#

从历史上看,UNIX系统将时间计算为从称为“历元”的绝对原点时刻开始经过的时间单位(秒、米利斯、毫微等):世界协调时1970年1月1日00:00:00。POSIX正式认可这一点。
因此,“UNIX时间”是计算系统,而“Epoch时间戳”是该系统中的时间点。
在我看来,你在使用大纪元时间戳时,似乎把时间单位混为一谈了。
在“短”时间戳的情况下,12600000 seconds since the Epoch与12600000 * millises * since the Epoch是不同的时间点。这就是为什么您看到它们解析为一天中的不同时间,因为您的转换器对它们的解释不同。如果您在输出中包含date,你会发现这两个时间点相差了六个月。

相关问题