【问题标题】:SwiftUI - How to format Firestore Timestamp in a TextViewSwiftUI - 如何在 TextView 中格式化 Firestore 时间戳
【发布时间】:2020-12-26 04:35:46
【问题描述】:
我有一个从 Firestore 返回的 startTime 字段,它被定义为时间戳。我正在使用 Codable 将 startTime 指定为 Swift 中的日期。
我看不到如何将时间戳提供的完整日期转换为时间。
Text("\(startTime)" 给我“英国夏令时间 2020 年 9 月 7 日星期一下午 12:00:00”
【问题讨论】:
标签:
firebase
google-cloud-firestore
timestamp
swiftui
【解决方案1】:
使用下面的例子作为参考得到你想要的格式
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
let newDateString = dateFormatter.string(from: yourDate)
Here你可以找到不同的格式选项。
【解决方案2】:
这是一个更完整(即用)的答案:
import Foundation
import FirebaseFirestore
func formatTransactionTimpestamp(_ timestamp: Timestamp?) -> String {
if let timestamp = timestamp {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .short
let date = timestamp.dateValue()
dateFormatter.locale = Locale.current
let formatted = dateFormatter.string(from: date)
return formatted
}
return ""
}