目前,我一直在尝试实现这一壮举的不同方法。我在这里格式化的方式产生了当前日期8月30日下午6:28
import SwiftUI
struct TestDate: View {
var time = Date()
var dateFormatter: DateFormatter {
let df = DateFormatter()
df.dateFormat = "MMM d, h:mm a"
return df
}
var body: some View {
Text("\(time, formatter: dateFormatter)")
}
}
这正是我想要的。但是,我希望显示昨天,今天和明天,而不是“ 8月30日” /相对当前日期。如何在SwiftUI中做到这一点
编辑:我的意思是当我使用DatePicker并更新日期时。而不是出现“ 8月29日下午6:50”,我希望字符串为“昨天下午6:50”。超过昨天和明天的所有日期都将显示为“ MMM d,h:mm a”
您需要doesRelativeDateFormatting
(并且不要忘记添加样式),例如:
var dateFormatter: DateFormatter {
let df = DateFormatter()
df.dateFormat = "MMM d, h:mm a"
df.dateStyle = .medium
df.timeStyle = .short
df.doesRelativeDateFormatting = true
return df
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句