我正在尝试使用 Unix 时间戳来解决我的问题。我想出了如何展示它,但结果太长了——它说:
“中欧夏令时间 2023 年 3 月 31 日星期五晚上 11:13:52”
如何使用 UTC 时间缩短时间?
类似于:“31.03.2023 11:13:52 UTC”
struct effSummary: View {
let unixvar = "1680297232"
var body: some View {
let date = NSDate(timeIntervalSince1970:TimeInterval(unixvar)!)
Text("\(date)")
} }
struct effSummary_Previews: PreviewProvider {
static var previews: some View {
effSummary()
.previewInterfaceOrientation(.landscapeLeft)
} }
不要使用 NSDate。 Swift 原生类型是日期。并且您可以使用 DateFormatter 类方法
localizedString(from:dateStyle:timeStyle:)
生成用户本地时区的格式化日期字符串
let date = Date(timeIntervalSince1970:TimeInterval(unixvar)!)
let dateString = DateFormatter.localizedString(
from: date
dateStyle: .medium
timeStyle: .medium)
Text("\(dateString)")
根据需要选择日期和时间样式
.short
、.medium
或.long
。如果你想要更多的控制,那么你可能需要创建一个 DateFormatter 的自定义实例并按照你想要的方式配置它。