仅在 iOS 11+ 上,我有这个错误:当用户在电话时间设置中禁用 24 小时模式时,无法使用此代码解析我的字符串。
在其他iOS版本上,没有问题...
是否缺少强制格式化程序 24 小时模式的内容?
变量 date
和 beginHour
来自网络服务。
// 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) {
// ...
}
最佳答案
我认为在您的代码中,您没有使用正确的 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) {
// ...
}
关于ios - Swift - 将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48098262/