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

use*_*869 3 date countdown ios firebase swift

我只是想知道,有没有办法使用Swift在Firebase中存储Time?我问的原因是因为我想创建一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,该计时器从创建它的24小时开始倒计时.当这24小时到期时,该对象将被删除.我还想显示一个倒计时器,以显示对象在删除之前剩余的时间.

我尝试将小时和分钟作为整数存储到我的数据库中,但这似乎不是很有效,因为我不得不担心上午/下午,并且可能不得不担心它是哪一天.我还在考虑将日期存储为字符串,但是在确定如何不断将字符串更改为整数并减少显示倒计时的时间方面似乎很艰难.

我已经调查了FirebaseServerValue.timestamp()但是我似乎无法将其存储到Firebase中.关于如何实现这一点,是否有任何提示或想法?谢谢.

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

    self.firebaseRef.childByAutoId().setValue([
        "individualId":individualId.text,
        "timeCreated": FirebaseServerValue.timestamp()
        ])
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*tic 9

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

var interval = NSDate().timeIntervalSince1970
Run Code Online (Sandbox Code Playgroud)

当你需要约会时,就这样得到它

var date = NSDate(timeIntervalSince1970: interval)
Run Code Online (Sandbox Code Playgroud)

  • Firebase不仅采用字符串.鉴于[指南](https://www.firebase.com/docs/ios/guide/)使用数字,布尔值和对象以及[API](https://www.firebase.com/),这是荒谬的docs/ios/api /)与此相矛盾.此外,使用NSDate取决于设备的日期/时间,可能有漂移/差异.在移动设备上没有那么大的问题,但服务器时间戳仍然比NSDate更可靠和一致. (9认同)