gpt4 book ai didi

swift - "EEE, dd MMM yyyy hh:mm:ss zzz"字符串转日期

转载 作者:搜寻专家 更新时间:2023-11-01 06:34:14 25 4
gpt4 key购买 nike

亲爱的,帮助将字符串转换为“Mon, 10 Apr 2017, 10:00:00 PDT” to Date我的代码如下,不幸的是它会导致错误:

extension String {    
func getDate() -> Date {
let formatter = DateFormatter()

formatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss zzz"
return formatter.date(from: self)! // Returns "Mon, 10 Apr 2017, 10:00:00 PDT"
}
}

最佳答案

有两个问题。您需要在年份之后添加一个逗号,并在日期格式中使用 HH(24 小时)而不是 hh(12 小时):

extension Formatter {
static let date = DateFormatter()
}

extension String {
var getDate: Date? {
Formatter.date.locale = Locale(identifier: "en_US_POSIX")
Formatter.date.dateFormat = "EEE, dd MMM yyyy, HH:mm:ss zzz"
return Formatter.date.date(from: self)
}
}

let dateString =  "Mon, 10 Apr 2017, 10:00:00 PDT"
if let date = dateString.getDate {
Formatter.date.timeZone = TimeZone(abbreviation: "PDT")
Formatter.date.string(from: date) // Mon, 10 Apr 2017, 10:00:00 PDT
}

关于swift - "EEE, dd MMM yyyy hh:mm:ss zzz"字符串转日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428646/

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