一尘不染

在Firebase数据库中有效存储时间?

swift

我只是在想,是否可以使用Swift将时间存储在Firebase中?我之所以问是因为我要创建一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,该计时器从创建之日起24小时开始递减计数。这24小时到期后,该对象将被删除。我还想显示一个倒数计时器,以显示该对象在删除之前还剩下多长时间。

我尝试将小时和分钟作为整数存储到数据库中,但这似乎效率不高,因为我不得不担心AM /
PM,也许还要担心现在是星期几。我也在考虑将日期存储为字符串,但是在弄清楚如何不断将字符串更改为整数并减少时间以这种方式显示倒数时,这似乎很艰巨。

我研究了,FirebaseServerValue.timestamp()但似乎无法将其存储到Firebase中。是否有任何技巧或想法来实现这一目标?谢谢。

编辑:尝试存储FirebaseServerValue.timestamp()到Firebase中:

    self.firebaseRef.childByAutoId().setValue([
        "individualId":individualId.text,
        "timeCreated": FirebaseServerValue.timestamp()
        ])

但是我这样说是错误的'_' is not convertible to 'StringLiteralConvertible'。我试图查看时间戳是否具有将其转换为String或Integer的任何方法,但是找不到我认为对自动完成功能有用的任何内容。


阅读 229

收藏
2020-07-07

共1个答案

一尘不染

您可以使用时间间隔并将其存储为数字

var interval = NSDate().timeIntervalSince1970

当您需要日期时,就可以像这样

var date = NSDate(timeIntervalSince1970: interval)
2020-07-07