Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Firebase数据库中高效存储时间?_Ios_Swift_Date_Firebase_Countdown - Fatal编程技术网

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

Ios 在Firebase数据库中高效存储时间?,ios,swift,date,firebase,countdown,Ios,Swift,Date,Firebase,Countdown,我只是想知道,有没有办法用Swift在Firebase中存储时间?我之所以问这个问题,是因为我想制作一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,从创建时的24小时开始倒计时。当这24小时过期时,对象将被删除。我还想显示一个倒计时,以显示对象在被删除之前还有多长时间 我尝试将小时和分钟作为整数存储到我的数据库中,但这似乎不是很有效,因为我不得不担心AM/PM,可能还要担心今天是哪一天。我也在考虑将日期存储为字符串,但要想弄清楚如何不断地将字符串更改为整数,并以这种方式减少显示倒

我只是想知道,有没有办法用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更可靠、更一致。