【问题标题】:Different portions of JSON.stringify(new Date());JSON.stringify(new Date()) 的不同部分;
【发布时间】:2014-09-21 04:53:41
【问题描述】:

2014-07-29T16:55:46.657Z

我相信是这样的:

年-月-日THOURS:MINUTES:SECONDS.MILLISECONDSZ

TZ的用途和全名是什么?

它们只是用作转义字符吗?

【问题讨论】:

  • 全名:“时间”和“祖鲁”;-)
  • @ÁlvaroG.Vicario 真的是Z=Zulu?
  • @ÁlvaroG.Vicario “UTC 时间也称为‘祖鲁’时间,因为‘祖鲁’是北约拼音字母中‘Z’的意思。”哇,我不相信。
  • @onepiece:是的。这是表示 UTC/GMT 的标准方式,因为 Z 指示符表示 UTC,而北约音标中的 Z 是“祖鲁语”。 编辑 啊,我看到你自己到了那里。 :-)
  • 我不知道为什么是 Z。 I've just googled that.

标签: javascript json stringify


【解决方案1】:

T 分隔日期和时间; Z 指定 UTC 时区。 (例如,-08:00 可以代替它。)

【讨论】:

  • @Jeroen 注意:请注意 JavaScript 的日期/时间字符串格式 is not ISO-8601。它是 8601 的一个子集,如果你不在字符串中包含时区指示符,它的含义相当严重。
【解决方案2】:

JSON 没有日期的概念,所以如果你使用JSON.stringify(new Date()),你实际上是在使用JSON.stringify(new Date().toJSON()) (link to spec),它使用 JavaScript 的日期/时间格式给出日期。您可以在规范的§15.9.1.15 中获得有关该格式的所有详细信息。

JavaScript 的pseudo-ISO-8601 date/time format 使用T 作为日期和时间的分隔符,Z 作为 UTC(有时称为 GMT)的指示符。在 JavaScript 中,没有 Z,仍然是 UTC(而在 ISO-8601 中,它将是“本地时间”)。您可以指定时区偏移量,而不是 Z

【讨论】:

  • In JavaScript, without the Z, that would still be in UTC (whereas in ISO-8601, it would be "local time"). UTC(JavaScript 输出的实际时间)和本地时间不一样吗?例如,我的问题中的16:55:46.657Z 是UTC,因为它有Z,但它也是我的当地时间。
  • @onepiece:UTC 目前只有少数几个地方的当地时间,比如冈比亚等一些西非国家。几乎所有其他使用 GMT 的人现在都在 GMT+0100(夏令时)。但撇开这一点不谈,除了穿过格林威治(英国、葡萄牙和那些非洲国家)的线路两侧相当窄的范围内的人之外,地球上绝大多数人的当地时间都与UTC 全年。在纽约(东部夏令时间),时间为 UTC-0500 或 UTC-0400(夏季);在新德里,它(总是)UTC+0530。
猜你喜欢
  • 1970-01-01
  • 2020-09-24
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 2022-06-17
  • 1970-01-01
相关资源
最近更新 更多