无法将日期字符串“2017-01-01 13:40:15.314”转换为 "dd MMMM yyy hh:mm a" 格式
Unable to convert date string "2017-01-01 13:40:15.314" to "dd MMMM yyy hh:mm a" format
无法使用 AM/PM
将字符串转换为日期格式
我的示例代码:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
if let todaysDate:Date = dateFormatter.date(from: dateString) {
let newdateFormatter:DateFormatter = DateFormatter()
newdateFormatter.dateFormat = "dd MMMM yyy hh:mm a"
newdateFormatter.amSymbol = "AM"
newdateFormatter.pmSymbol = "PM"
return newdateFormatter.string(from: todaysDate)
}
输入是:"2017-01-01 13:40:15.314"
输出为:01 January 2017 19:57
预期输出是:01 January 2017 7:57 PM
将日期格式化程序的语言环境设置为 en_US_POSIX
,作为副作用,它也将 AM/PM 符号设置为大写。
let newdateFormatter = DateFormatter() // Do not annotate types the compiler can infer
newdateFormatter.locale = Locale(identifier: "en_US_POSIX")
newdateFormatter.dateFormat = "dd MMMM yyyy h:mm a"
newdateFormatter.string(from: todaysDate)
无法使用 AM/PM
将字符串转换为日期格式我的示例代码:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
if let todaysDate:Date = dateFormatter.date(from: dateString) {
let newdateFormatter:DateFormatter = DateFormatter()
newdateFormatter.dateFormat = "dd MMMM yyy hh:mm a"
newdateFormatter.amSymbol = "AM"
newdateFormatter.pmSymbol = "PM"
return newdateFormatter.string(from: todaysDate)
}
输入是:"2017-01-01 13:40:15.314"
输出为:01 January 2017 19:57
预期输出是:01 January 2017 7:57 PM
将日期格式化程序的语言环境设置为 en_US_POSIX
,作为副作用,它也将 AM/PM 符号设置为大写。
let newdateFormatter = DateFormatter() // Do not annotate types the compiler can infer
newdateFormatter.locale = Locale(identifier: "en_US_POSIX")
newdateFormatter.dateFormat = "dd MMMM yyyy h:mm a"
newdateFormatter.string(from: todaysDate)