【问题标题】:in Swift, how to fetch and convert Firestore timestamp field在 Swift 中,如何获取和转换 Firestore 时间戳字段
【发布时间】:2021-03-31 19:41:48
【问题描述】:

我正在设置我的第一个 Firestore 数据库,并且我有几个日期字段存储为时间戳。在我的 swift 结构中,相应的属性被声明为 Date。第一个问题 - 这是正确的方法吗?如果是这样,我如何获取这些时间戳值?我一直在努力寻找解决方案,但似乎不是一个明显的解决方案。

struct HealthLog1: Codable {
   var comment: String?
   var entryDate: Date?
   var familyMemberID: String?
   var logID: String?
   var user_ID: String?
 }



 db.collection("healthLogs").whereField("familyMemberID", isEqualTo: person.familyMemberID!).getDocuments { (snapshot, error) in
        
        if error == nil && snapshot != nil {
            
            for doc in snapshot!.documents {
                
                let log = HealthLog1(
                    comment: doc["comment"] as? String,
                    entryDate: doc["entryDate"] as? Date,
                    familyMemberID: doc["familyMemberID"] as? String,
                    logID: doc["logID"] as? String,
                    user_ID: doc["user_ID"] as? String)
   
                healthLogs.append(log)

            }
            
            self.delegateHLP?.receiveLogs(healthLogs: healthLogs)
        }
        else {
            print ("there is some error with the get documents")
        }
    }
}

【问题讨论】:

    标签: ios swift date timestamp


    【解决方案1】:

    将日期声明为时间戳。

    你的模型

    class HealthLog1: Codable {
        var comment: String?
        var entryDate: Timestamp? //<-- Declare Timestamp
        var familyMemberID: String?
        var logID: String?
        var user_ID: String?
    }
    

    初始化

    let log = HealthLog1(
        comment: doc["comment"] as? String,
        entryDate: doc["entryDate"] as? Timestamp,
        familyMemberID: doc["familyMemberID"] as? String,
        logID: doc["logID"] as? String,
        user_ID: doc["user_ID"] as? String)
    

    如果您需要时间戳值中的日期,请使用dateValue()

    let entryDate = log.entryDate.dateValue()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-15
      • 2018-10-05
      • 1970-01-01
      • 2018-12-09
      • 2021-08-11
      • 2018-10-24
      • 2021-06-05
      相关资源
      最近更新 更多