相关疑难解决方法(0)

试图在Swift中将Firebase时间戳转换为NSDate

我正在尝试在Swift应用中使用Firebase时间戳.我想将它们存储在我的Firebase中,并在我的应用中将它们用作本机NSDate对象.

文档说他们是unix epoch时间,所以我尝试过:

NSDate(timeIntervalSince1970:FirebaseServerValue.timestamp)
Run Code Online (Sandbox Code Playgroud)

没有运气.

这个:

FirebaseServerValue.timestamp
Run Code Online (Sandbox Code Playgroud)

回报

0x00000001199298a0
Run Code Online (Sandbox Code Playgroud)

根据调试器.通过这些时间戳的最佳方法是什么?

ios firebase swift

18
推荐指数
3
解决办法
2万
查看次数

如何在Swift中将Firestore FieldValue解析为Date

我将文档存储在Cloud Firestore数据库的集合中。在本文档中,我想参考文档的存储时间,因此我在使用具有功能的Firestore的FieldValue对象serverTimeStamp()

我无法将客户端上的FieldValue对象解析为a Date/NSDateString。我花了一些时间阅读Firestore iOS文档,但找不到任何线索。

FieldValue从数据库到客户端没有问题,但是,我无法将类型的timeStamp转换/转换FieldValue为任何东西。

尝试转换为字符串和日期:

let timeStampString : String = message.timeStamp

let timeStampDate = Date(timeIntervalSince1970: message.timeStamp)

  • 无法将类型的值分配FieldValue给typeString
  • 无法将类型的值转换FieldValue为预期的参数类型TimeInterval(aka Double

编辑:查看道格·史蒂文森(Doug Stevenson)的答案后,处理此问题的最佳方法是在读取客户端信息时将timeStamp值转换为TimeStamp(而非FieldValue)。

let timeStamp = document["yourTimeStampKey"] as! TimeStamp
Run Code Online (Sandbox Code Playgroud)

而不是

let timeStamp = document["yourTimeStampKey"] as! FieldValue
Run Code Online (Sandbox Code Playgroud)

firebase swift google-cloud-firestore

2
推荐指数
1
解决办法
1616
查看次数

标签 统计

firebase ×2

swift ×2

google-cloud-firestore ×1

ios ×1