firebase - 如何在firebase中使服务器和客户端之间的时间戳相同?
问题描述
我有一个使用 firebase 云功能的反应应用程序。在客户端,我使用纯 javascriptDate.now()
来获取客户端的本地时间(PST 时区)。
在服务器大小上,我也尝试使用相同的方法来获取时间戳,但它位于不同的时区。这将引入一个问题,如果 PST 时间是8:15pm 12/07/2019
,那么它将是4:15am 12/08/2019
,日期是不同的。
在这种情况下,如何保持客户端和服务器端的时间戳一致?谢谢!
解决方案
没有时区数据编码到 javascript Date 对象或 Firestore Timestamp 对象中。Date 对象用unix epoch time表示时间,它表示地球上所有人的特定时间点。(如果你还没有,一定要了解那是什么。)
您可能正在做的是打印日期的字符串表示形式,并且正在格式化主机配置的时区。由于您没有显示任何代码,因此无法确定,但 Dates 没有时区是事实。
如果要格式化具有特定时区的日期,则应使用日期格式化库,该库可让您指定应以字符串格式表示的时区。
推荐阅读
- python - 如何循环文本文件以创建值字符串
- python - 如何使用python在sql中的每10个新值之后打印一条消息?
- azure-devops - 如何在 Azure DevOps 的 yaml 中指定清理所有构建目录?
- ios - 有没有办法以声明的方式获取 UITextField 的文本更新?
- html - 在图像上淡入的点图案叠加
- java - Maven Deploy Plugin S3 Wagon with Java 11 不与 JAXB 一起使用
- css - 使用 webpack 将 .ts 和 .css 捆绑到单个文件中
- java - 更改 StackPane 的背景颜色
- c - 程序不读取循环中的最后一个字符
- python - Pymongo 相当于 SQL 查询