1

仅在 iOS 11+ 上,我有这个错误:当用户在电话时间设置中禁用 24 小时模式时,我的字符串无法使用此代码解析为最新。

在其他iOS版本上,没有问题...

格式化程序是否缺少强制 24 小时模式的东西?

变量datebeginHour来自网络服务。

// 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) {
    // ...
}
4

1 回答 1

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) {
    // ...
}
于 2018-01-05T10:15:49.227 回答