从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();
我需要考虑吗?
答案 0 :(得分:1)
阅读Google的documentation about time smearing:
自2008年以来,不再使用以下方法对我们的服务器应用leap秒 计时步骤,我们在整个小时中“抹上”了额外的一秒钟 每次跳跃之前和之后。跨越式涂片适用于所有Google 服务,包括我们所有的API。
您和您的用户不太可能注意到这种效果,并且无需编写特殊代码来处理通常需要a秒才能处理的时间突然变化。