问题描述
我想将此 String
转换为 Date
Mon,03 May 2021 00:00:00 GMT
let dateString = "Mon,03 May 2021 00:00:00 GMT"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE,dd MMM yyyy hh:mm:ss 'Z'"
date = dateFormatter.date(from: dateString)
但它不起作用,date
为零。那么这个案例的正确格式是什么?
解决方法
使用日期格式,如 EEE,dd MMM yyyy hh:mm:ss Z
let dateString = "Mon,03 May 2021 00:00:00 GMT"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE,dd MMM yyyy hh:mm:ss Z"
let date = dateFormatter.date(from: dateString)
print(date)
,
您需要使用 HH,因为这是 24 小时格式,并且由于日期和月份名称是英文,您还需要为格式化程序设置区域设置,以便它不使用用户当前的区域设置
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "EEE,dd MMM yyyy HH:mm:ss Z"