Unix 时间戳从现在输出为 1970

Rag*_*fin 0 javascript timestamp unix-timestamp

我想在未来生成一些 unix Timestamp。因此我使用像unixtimestamp.com这样的生成器 。但是当我使用任何生成的时间戳时,例如在 chrome 或 firefox 的 console.log 中,它生成的不是现在的时间戳,而是 1970 年的时间戳。

示例:1462277206 是 2016 年 5 月 3 日星期二 12:06:46 GMT 的 Unix 时间戳。

但是在控制台中new Date(1462277206)返回 Sat Jan 17 1970 23:11:17 GMT+0100 (CET).

我究竟做错了什么?

谢谢你的帮助!

莫夫

T.J*_*der 5

JavaScript 日期/时间数字是自 The Epoch 以来的毫秒数,而不是像旧式 Unix Epoch 值那样自 The Epoch 以来的秒数。如果你有一个以秒为单位的值,乘以 1000:

new Date(1462277206 * 1000);
Run Code Online (Sandbox Code Playgroud)

  • @Raggamuffin:历史。多年来,自大纪元以来,时间值都是以秒为单位来衡量的。这始于 20 世纪 70 年代。然后我们觉得需要更精确和更现代的系统,从纪元开始就开始使用毫秒。现在有更现代的系统使用更精确的系统,例如微软的“自公历 0001 年 1 月 1 日 00:00:00.000 开始的刻度”(一个“刻度”为 100 纳秒)。早期的 Unix 黑客不会梦想使用 C# 用于“DateTime”的时间值的存储量,但在过去约 45 年里事情发生了一些变化。 (2认同)