【问题标题】:What is the JavaScript Date.now() time format called?JavaScript Date.now() 时间格式叫什么?
【发布时间】:2018-01-09 17:17:47
【问题描述】:

我想知道在我的文档中写什么。

MDN describes it 为:

一个数字,表示自 UNIX 纪元以来经过的毫秒数。

而 W3Schools describes it 为:

自 1970/01/01 以来的毫秒数

但是,这些只是描述Unix time 的维基百科页面指出:

Unix 时间是用于描述时间瞬间的系统,定义为自 1970 年 1 月 1 日星期四 00:00:00 协调世界时 (UTC) 以来经过的 数 [. ..]

秒。不是Date.now() 返回的毫秒。所以我也不能称它为“unix 时间格式”。


“表示自 UNIX 纪元以来经过的毫秒数”时间格式是否有更简洁的名称?

【问题讨论】:

  • "Unix 时间戳" 也许? currentmillis.com/tutorials/…
  • 我会说它仍然是Unix时间/纪元时间,只是以毫秒表示。
  • 我可能错了,但我认为它没有名字。

标签: javascript date time epoch


【解决方案1】:

一般来说,如果你只说“Unix Time”或“Unix Timestamp”,就暗示你说的是秒。但是,请理解 POSIX 规范实际上并未使用这些术语。相反,它专门说“自纪元以来的秒数”,在section 4.16 中定义,并在整个规范中使用。我们称其为“Unix Time”只是一种俗语。

section 20.3.1.1 of version 8.0 of the ECMAScript specification 中,除了“自 1970 年 1 月 1 日 UTC 以来的毫秒数”之外,没有给出时间戳的术语。

因此,当提到 JavaScript(和其他地方)中使用的时间戳时,您可以随意称其为“自 (Unix) 纪元以来的毫秒数”、“Unix 时间毫秒数”或“Unix 时间戳毫秒数” . 没有比这更简洁的普遍公认的口语或标准术语了。

关于这个主题的其他几点:

  • 您提供的 W3Schools 链接上的文本存在严重错误,因为它没有指定 UTC。由于 Unix 纪元是根据 UTC 定义的,因此从它派生的所有时间戳都是基于 UTC 的。

  • 有些人可能将这些时间戳称为“纪元时间”。然而,这是荒谬的。请避免使用这个术语,因为它暗示时间值本身就是一个纪元。只有0 值可以被认为是纪元。有人可能会说“基于纪元的时间”,但即便如此,也存在“哪个纪元?”的问题。虽然 Unix 纪元很常见,但还是有multiple different epochs used in computing

【讨论】:

  • @K3N - 没问题。我想我是在你之后进来的,所以你不必删除,但这很好。 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多