使用 DateFormatter 缩短日期(UNIX 时间戳)

问题描述 投票:0回答:1

我正在尝试使用 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)
    } }
swift unix timestamp nsdate dateformatter
1个回答
0
投票

不要使用 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 的自定义实例并按照你想要的方式配置它。

© www.soinside.com 2019 - 2024. All rights reserved.