【问题标题】:What does it mean if 'leap seconds are "smeared" so that no leap second table is needed'?如果“闰秒被“涂抹”,因此不需要闰秒表,这意味着什么?
【发布时间】:2018-08-30 08:43:37
【问题描述】:

来自 Google Cloud Firestore 文档:

https://cloud.google.com/nodejs/docs/reference/firestore/0.15.x/Timestamp#toDate

时间戳

时间戳代表一个时间点,独立于 任何时区或日历,以秒和分数表示 UTC 纪元时间中纳秒分辨率的秒数。它被编码 使用扩展公历的 Proleptic 公历 日历倒退到第一年。 假设所有分钟都是编码的 60 秒长,即闰秒被“涂抹”,因此没有闰 解释需要第二个表。范围是从 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59.999999999Z。

粗体字是我的重点

闰秒被“涂抹”到底是什么意思?

在日常实践中,假设在 Firestore 中存储 created 时间戳,并在查询时使用它对记录进行排序,

let querySnap = await colRef.orderBy('created', 'asc').limit(10).get();

我需要考虑吗?

【问题讨论】:

    标签: node.js date time google-cloud-firestore


    【解决方案1】:

    阅读谷歌的documentation about time smearing

    自 2008 年以来,我们的服务器不再使用闰秒,而是使用 时钟步数,我们已经在几个小时内“涂抹”了额外的一秒 每次飞跃之前和之后。跨越式涂片适用于所有 Google 服务,包括我们所有的 API。

    您和您的用户不太可能注意到这种影响,并且无需编写特殊代码来处理通常需要考虑闰秒的时间突然变化。

    【讨论】:

      猜你喜欢
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2019-11-13
      • 2012-07-02
      • 2016-02-15
      • 2015-09-18
      • 2011-02-16
      相关资源
      最近更新 更多