Ios 在Firebase数据库中高效存储时间?
我只是想知道,有没有办法用Swift在Firebase中存储时间?我之所以问这个问题,是因为我想制作一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,从创建时的24小时开始倒计时。当这24小时过期时,对象将被删除。我还想显示一个倒计时,以显示对象在被删除之前还有多长时间 我尝试将小时和分钟作为整数存储到我的数据库中,但这似乎不是很有效,因为我不得不担心AM/PM,可能还要担心今天是哪一天。我也在考虑将日期存储为字符串,但要想弄清楚如何不断地将字符串更改为整数,并以这种方式减少显示倒计时的时间,这似乎很困难Ios 在Firebase数据库中高效存储时间?,ios,swift,date,firebase,countdown,Ios,Swift,Date,Firebase,Countdown,我只是想知道,有没有办法用Swift在Firebase中存储时间?我之所以问这个问题,是因为我想制作一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,从创建时的24小时开始倒计时。当这24小时过期时,对象将被删除。我还想显示一个倒计时,以显示对象在被删除之前还有多长时间 我尝试将小时和分钟作为整数存储到我的数据库中,但这似乎不是很有效,因为我不得不担心AM/PM,可能还要担心今天是哪一天。我也在考虑将日期存储为字符串,但要想弄清楚如何不断地将字符串更改为整数,并以这种方式减少显示倒
我已经研究了
FirebaseServerValue.timestamp()
,但我似乎无法将其存储到Firebase中。关于如何实现这一点,有什么建议或想法吗?谢谢
编辑:尝试将FirebaseServerValue.timestamp()存储到Firebase中:
self.firebaseRef.childByAutoId().setValue([
"individualId":individualId.text,
"timeCreated": FirebaseServerValue.timestamp()
])
但是,我得到一个错误,即“\u”不能转换为“StringLiteralConvertible”
。我试图查看timestamp是否有任何方法将其转换为字符串或整数,但找不到任何我认为对自动完成有用的方法。您可以使用时间间隔,并将其像数字一样存储
var interval = NSDate().timeIntervalSince1970
当你需要约会的时候就这样
var date = NSDate(timeIntervalSince1970: interval)
“我已经研究了FirebaseServerValue.timestamp()
,但我似乎无法将其存储到Firebase中”鉴于此功能专门用于存储时间戳,您可以显示您的代码吗?@FrankvanPuffelen我在原始帖子中演示了如何使用Firebase存储时间戳。这很有效,有没有办法将其存储为字符串?Firebase似乎只接受字符串。如果您正在使用Swift,或者使用Objective-C格式的字符串,如[NSString stringWithFormat:@“%f”,interval],只需执行“\(interval)”
我正在使用Swift,当我尝试使用“\(interval)”
方法时,它似乎不起作用。这是我试图存储它的一个例子:self.firebaseRef.childByAutoId().setValue([“individualId”:individualId.text,“timeCreated”:“\(interval)”)
但是我收到一个错误,说Expected',separator
是的,谢谢你的帮助。Firebase不仅仅接受字符串。这是荒谬的,因为它使用数字、布尔和对象,并且与此相矛盾。此外,使用NSDate取决于设备的日期/时间,可能存在漂移/差异。这在移动设备上不是一个大问题,但服务器时间戳仍然比NSDate更可靠、更一致。