我正在尝试使用dateFormatter从字符串转换。它可以在模拟器上正常工作,并在设置为12小时时在我的手机上正常工作,但在我的手机设置为24小时时无法设置。 (它在模拟器设置为24小时时设置。)
passedTime = "10:36 pm"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "h:mm a"
let pickerDate = dateFormatter.dateFromString(passedTime)
println(pickerDate)
就像我说的那样,在12小时内在模拟器或手机上运行时,它可以完美运行,但是当手机24小时静音时,它会打印为零。我已经阅读了有关区域设置的事情,但是当我在手机上运行时,无论我是在12小时还是24小时模式,本地都是一样的。
答案 0 :(得分:4)
我有完全相同的问题......非常令人沮丧。解决方案是设置日历的区域设置。对于Swift 3,它是:{
"_id" : ObjectId("57eb386e37b4842ff5f386c9"),
"lesson_id" : ObjectId("57e27cd190e6993e393f5c74"),
"student_id" : ObjectId("57d3c3f590e6995fe8de7932"),
"answer_records" : {
"1" : {
"answer" : [
"A"
]
},
"3" : {
"answer" : [
"C"
]
}
}
答案 1 :(得分:1)
答案 2 :(得分:0)
如何使用两个日期格式化程序进行解析?
var time12hrFormatter = NSDateFormatter()
time12hrFormatter.dateFormat = "h:mm a"
var time24hrFormatter = NSDateFormatter()
time24hrFormatter.dateFormat = "HH:mm"
if let pickerDate = time12hrFormatter.dateFromString(passedTime) {
println(pickerDate)
} else if let pickerDate = time24hrFormatter.dateFromString(passedTime) {
println(pickerDate)
} else {
println("failed to parse '\(passedTime)'")
}