我想格式化日期字符串从"2024-04-02 18:30:00 +0000""02 Apr"

func convertToDateString(dateStr: String) -> String {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd hh:mm:ss +0000"
        let date1  = formatter.date(from: dateStr)
        formatter.dateFormat = "dd MMM"
        var resultTime = ""
        if let date1 = date1 {
            resultTime = formatter.string(from: date1)
        }
        return "\(resultTime)"
    }

但我得不到零分.

如何转换它,任何人请帮助

推荐答案

HH代表24小时,hh代表12小时.提供的日期字符串为24小时格式.

func convertToDateString(dateStr: String) -> String {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z" 
    if let date = formatter.date(from: dateStr) {
        formatter.dateFormat = "dd MMM"
        return formatter.string(from: date)
    } else {
        return ""
    }
}

您还可以从设置区域设置中受益,阅读更多关于DateFormatter

例如

// US English Locale (en_US)
formatter.locale = Locale(identifier: "en_US")
print(formatter.string(from: date)) "02 Apr"

Swift相关问答推荐

Swift Tree实现中的弱var

启用完整并发判断以及如何解决警告

如何取消正在视图修改器中运行的任务

将NavigationSplitView更改为NavigationStack

如何在SwiftUI中做出适当的曲线?

SwiftUI 组合问题:通过 AppEventsManager 在 ViewModel 之间共享数据

相互取消任务

SwiftUI:列表背景为空列表时为黑色

使第二个视图变灰 SwiftUI

一组可散列的自定义元素插入相等的元素

动画偏移正在 destruct 按钮 SwiftUI

快速更改tableView中的数据

在主要参与者中启动分离任务和调用非隔离函数之间的区别

快速递归:函数与闭包

从 Int 到 String 的属性更改引发 SwiftUI 视图不更新

您可以在运行时访问 Picker 元素并更改它们的 colored颜色 吗

试图同时实现两个混合过渡

你如何在 UIBarItem 中使用 setTitleTextAttributes:forState?

更改日期 Select 器的文本 colored颜色

Switch 语句中的字符串:String不符合协议IntervalType