Swift - 将字符串转换为日期
Swift - Convert string to date
仅在 iOS 11+ 上,我有这个错误:当用户在 phone 小时设置中禁用 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 11+ 上,我有这个错误:当用户在 phone 小时设置中禁用 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) {
// ...
}