仅在iOS 11+上,我有这样的错误:当用户在手机小时设置中禁用24小时模式时,我的字符串无法使用此代码进行解析。
在其他iOS版本上,没有问题......
是否缺少强制格式化程序的24小时模式?
变量date
和beginHour
来自webservice。
// input date = 20171201
// input beginHour = 2359
let dateTimeFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "fr_FR")
dateFormatter.timeZone = TimeZone.autoupdatingCurrent
dateTimeFormatter.dateFormat = "yyyyMMdd HHmm"
if let date = dateTimeFormatter.date(from: date+" "+beginHour) {
// ...
}
答案 0 :(得分:1)
我认为在您的代码中,您没有使用正确的dateFormatter, 请在dateTimeFormatter和dateFormatter之间进行检查,
let dateTimeFormatter = DateFormatter()
dateTimeFormatter.locale = Locale(identifier: "fr_FR")
dateTimeFormatter.timeZone = TimeZone.autoupdatingCurrent
dateTimeFormatter.dateFormat = "yyyyMMdd HHmm"
if let date = dateTimeFormatter.date(from: date+" "+beginHour) {
// ...
}