如果“抹上了seconds秒,所以不需要leap秒表”是什么意思?

时间:2018-08-30 08:43:37

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

从Google Cloud Firestore文档中:

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

  

时间戳

     

CLASS

     

时间戳表示一个时间点,与   任何时区或日历,以秒和小数表示   以UTC纪元时间为单位的纳秒分辨率的秒数。它被编码   使用扩展公历的公历   日历倒退至第一年。 假设所有分钟均为   60秒长,即“涂抹”了seconds秒,因此没有leap跃   需要第二张表进行解释。范围来自   0001-01-01T00:00:00Z到9999-12-31T23:59:59.999999999Z。

粗体字是我的重点

“ leap涂” leap秒到底是什么意思?

实际上,每天将created时间戳存储在Firestore中,并在查询时使用它来排序记录,

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

我需要考虑吗?

1 个答案:

答案 0 :(得分:1)

阅读Google的documentation about time smearing

  

自2008年以来,不再使用以下方法对我们的服务器应用leap秒   计时步骤,我们在整个小时中“抹上”了额外的一秒钟   每次跳跃之前和之后。跨越式涂片适用于所有Google   服务,包括我们所有的API。

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