当前位置: 首页 > 知识库问答 >
问题:

Firebase:代码/公式转换实时数据库时间戳到fi还原时间戳?

江迪
2023-03-14

我在Firebase上运行一个web应用程序,从实时数据库开始,现在我正在将数据迁移到firestore。

我使用ADMINSDK迁移了除时间戳之外的所有其他数据。在我的web应用程序中,当用户上传新内容时,代码会向数据库添加时间戳,以便内容可以按时间排序。

问题在于实时数据库和firestore显然在记录时间戳时使用了不同的方法:

firebase.database.ServerValue.TIMESTAMP // This will be in the following format: 1577778747131 
firebase.firestore.Timestamp.now() // This will be in the following format: December 31, 2019 at 4:52:00 PM UTC + 9

另一个问题是firebase.firestore.Timestamp.now()显然不是以毫秒或纳秒存储的,而是以系统中的实际日期和时间存储的。所以,我不知道什么值,如果有的话,当写到火恢复而不是firebase.firestore.Timestamp.now()。

在Javascript中,将实时数据库的时间戳值转换为Firebase时间戳的代码是什么?基本上,什么是代码来填补下面的空白:

postinfo.forEach(pi=>{
   const a = pi.time; //Timestamp stored  in realtime database format.
   /*
   Code to transform the timestamp in realtime database to the format to be uploaded to firestore. This I don't know yet.
   */
   const b = new_time;
   // Some code to log the new time instead of the old time. This I can take care of.

我可以花时间使用一个在线可用的转换器,并以新的格式手动记录时间,但这需要几个小时,这不是程序员想要做的事情。有什么建议吗?

共有1个答案

顾文昌
2023-03-14

将在实时数据库中指定为ServerValue的服务器时间戳。时间戳在Firestore中称为FieldValue。serverTimestamp()。

Firestore中的时间戳不像实时数据库那样以毫秒为单位存储为unix时间。它们使用两个数字存储,偏移量以秒和纳秒为单位,如API时间戳文档中所述。从Firestore中读取时间戳类型字段时使用该时间戳对象

阅读本文中有关Firestore服务器时间戳如何工作的更多信息。

 类似资料:
  • 但问题是我无法将数据从Firebase转换为Local。save方法将转换为Timestamp fine。 任何解决办法。

  • 从我的数据库我检索值为: 我想要上面的: 我试着用当前的时间戳跟踪 实际时间戳:2018年6月22日星期五16:07:35 更新了,我不想更新,有没有办法保持原样?

  • 我找不到这个问题的解决方案,我正在从firebase获取数据,其中一个字段是时间戳,看起来像这样- Swift示例(作品): 我的飞镖尝试: 并且它返回的日期/时间是错误的。 更新:

  • 本文向大家介绍sqlite时间戳转时间语句(时间转时间戳),包括了sqlite时间戳转时间语句(时间转时间戳)的使用技巧和注意事项,需要的朋友参考一下 下面是具体的实现代码:

  • 本文向大家介绍python 时间戳与格式化时间的转化实现代码,包括了python 时间戳与格式化时间的转化实现代码的使用技巧和注意事项,需要的朋友参考一下 python 里面与时间有关的模块主要是 time 和 datetime 如果想获取系统当前时间戳:time.time() ,是一个float型的数据 获取系统当前的时间信息 : time.ctime() 是一个str类型的时间字符串,一般比较

  • 我正在为我的聊天应用程序使用firebase。在聊天对象中,我使用方法添加时间戳。 请就这个问题提出解决办法