簡體   English   中英

在 Kotlin 中將字符串(在數據類中)解碼為日期

[英]Decode String (in Data Class) as Date in Kotlin

我如何將數據類中包含的字符串解碼為日期。 我有幾個字符串,它們實際上是日期("2022-11-24T23:37:34.668Z") 這些存儲在 firebase 的文檔中(顯然文檔中不僅有日期字符串,還有其他類型)。 我想反序列化,以便代表日期的字符串被自動解析。

目前我這樣解碼:

private inline fun <reified T> parse(snapshot: DocumentSnapshot?): T? {
     return snapshot?.toObject<T>(T::class.java)
}

我看不到如何指定日期解碼器的方法。 因此,我該如何實現。

確實沒有辦法為特定字段/屬性指定自定義解碼器。

我能很快想到的最佳選擇是:

  • 將自定義函數添加到數據類以將字符串解析為日期,並將新值設置為日期並將它們標記為從數據庫中排除
  • 為字符串字段定義一個自定義類(例如StringDate ),它處理相同的解析和序列化,然后在您的數據類中使用它。

我不知道其中任何一個的現有公共實現。

當然,最簡單的選擇是將日期/時間值存儲在Timestamp字段中,然后 Firestore SDK 會在每個支持的平台上自動將其轉換為本機日期/時間類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM