gpt4 book ai didi

Swift DateFormatter 在将 String 转换为 Date 时返回 nil

转载 作者:行者123 更新时间:2023-12-02 15:03:08 26 4
gpt4 key购买 nike

我正在尝试转换一个字符串:

2018-01-18 13:04:42 +0000

类似于

2018 年 1 月 18 日

使用 DateFormatter 但它失败了。我尝试了其他问题( thisthisthis )。

这是我打印nil的简单代码:

let str = "2018-01-18 13:04:42 +0000" 
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM, dd, YYYY"
dateFormatter.locale = Locale.current
let mydate = dateFormatter.date(from: str)
print(mydate)

最佳答案

您的 DateFormatter 期望原始字符串采用 January, 18, 2018 格式。您应该先将其转换为 Date之后才将其转换为另一种格式。

此外,在指代普通日历年时,您不应使用 YYYYSee this question for details.

let str = "2018-01-18 13:04:42 +0000" 
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")

guard let date = dateFormatter.date(from: str) else {
return
}

let newDateFormatter = DateFormatter()
newDateFormatter.dateFormat = "MMMM, dd, yyyy"
let newStr = newDateFormatter.string(from: date)
print(newStr) /*January, 18, 2018*/

关于Swift DateFormatter 在将 String 转换为 Date 时返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com