我试图将字符串转换为Date,正确地工作在12hr日期格式。当我将设备日期格式切换为24时,它总是返回零。请检查以下代码
let formatter = DateFormatter()
formatter.dateFormat = "h:mm a"
let date = formatter.date(from: "6:00 am")
答案 0 :(得分:4)
如果您使用固定格式的日期,则应首先将日期格式化程序的区域设置设置为适合您的固定格式的区域设置。在大多数情况下,选择的最佳语言环境是“en_US_POSIX”,这是一个专门设计用于产生美国英语结果的语言环境,无论用户和系统偏好如何。
因此,为防止使用设备的区域设置解释日期,您需要设置var storedObj = JSON.parse(localStorage.getItem('yourName');
//update it
storedObj.EmployerDetails.EmpNo = '5';
//store again
localStorage.setItem('yourName', JSON.stringify(storedObj));
的{{1}}属性
locale
注意:在设置DateFormatter
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "hh:mm a"
let date = formatter.date(from: "6:00 am")
非常重要
答案 1 :(得分:-4)
试试这个
let formatter = DateFormatter()
formatter.dateFormat = "h:mm a"
if let date = formatter.date(from: "14:00 am"){
print(date)
}else {
formatter.dateFormat = "H:mm a"
if let setdate = formatter.date(from: "14:00 am") {
print(setdate)
}
}