我试图将字符串转换为日期,然后再转换回字符串,但是我总是遇到致命错误。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss Z" //Your date format
dateFormatter.locale = Locale(identifier: "en_US")
//dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00") //Current time zone
//according to date format your date string
guard let date = dateFormatter.date(from: "Tue, 21 Jul 2020 20:04:09 +0000") else {
fatalError()
}
print(date) //Convert String to Date
dateFormatter.dateFormat = "MMM d, yyyy" //Your New Date format as per requirement change it own
let newDate = dateFormatter.string(from: date) //pass Date here
print(newDate) //New formatted Date string
return newDate
我知道有很多解决方案,但是都没有用。
答案 0 :(得分:2)
尝试使用这种格式(HH
而不是hh
):
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"
hh
-“如果只有1位数字,则12小时的小时填充为零” HH
-“如果只有1位数字,则24小时填充为零” 答案 1 :(得分:0)
如果您将“ 20”更改为“ 08”,则可以使用,因此 “从2020年7月21日星期二20:04:09 +0000”到“从2020年7月21日星期二08:04:09 +0000”
不确定为什么,我会更多地使用它,但是我猜它不喜欢24小时制。
乔纳斯