【问题标题】:How store tomorrow NSDate into Firebase?明天如何将 NSDate 存储到 Firebase 中?
【发布时间】:2019-01-21 08:38:04
【问题描述】:

我正在开发一个应用程序,我将图像存储到 Firebase 有时间限制,我想在 Firebase 上存储 24 小时的限制,但不适合我。这是我处理必须保存在 Firebase 数据库中的信息的函数。

     fileprivate func saveDataToUserProfile(imageUrl: String) {
    guard let uid = Auth.auth().currentUser?.uid else { return }
    guard let postImage = previewImageView.image else { return }
    let limitPostTime = Date(timeIntervalSinceNow: 60 * 60 * 24)


    let userRef = Database.database().reference().child("vibes").child(uid)
    let ref = userRef.childByAutoId()
    let values = ["vibeImageUrl": imageUrl, "imageWidth": postImage.size.width, "imageHeight": postImage.size.height, "creationDate": Date().timeIntervalSince1970, "votes": 0, "limitPostTime": limitPostTime] as [String : Any]
    ref.updateChildValues(values) { (err, ref) in
        if let err = err {
            print("Failed to save into DB: ", err)
            return
        }
            print("Successfully saved into the DB")
            self.removeFromSuperview()
    }
}

我尝试使用不同的存储方式,但到目前为止我还没有找到正确的存储方式。

let postLimitTime = Date().addingTimeInterval(60 * 60 * 24)

我只想存储明天的日期,像这样 现在 = 2019 年 1 月 20 日 明天 = 01/21/2019 当然是 N​​SDate 格式。

【问题讨论】:

    标签: swift firebase nsdate


    【解决方案1】:

    您正在尝试将 NSDate 类型的值保存到 firebase 中,因为 this answer 表示您需要将值存储为数字

    var interval = NSDate().timeIntervalSince1970
    

    当你需要日期时,就这样得到它

    var date = NSDate(timeIntervalSince1970: interval)
    

    【讨论】:

    • 转换明天日期 var interval = (NSDate().addingTimeInterval(60*60*24)).timeIntervalSince1970
    • 谢谢,我知道我有点接近了,但我什至不知道 Firebase 不会采用 NSDate,所以我们必须使用 timeInterval。
    猜你喜欢
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2019-03-02
    • 2017-10-25
    • 2021-03-14
    • 2019-03-10
    • 2017-03-20
    • 2021-09-11
    相关资源
    最近更新 更多