我试图按如下方式格式化时间:
let formatter = NSDateFormatter()
formatter.dateFormat = "hh_mm_ss"
let d = formatter.stringFromDate(NSDate())
println("formatted text is: \(d)")
假设当前时间是2014年9月3日22:15:30
22_15_30
。22:15:30
我正在使用xcode 6 beta 5 ...我错过了什么吗?为什么stringFromDate没有返回格式化的正确日期?
编辑:我正在使用xcode 6 beta 6。
谢谢!
答案 0 :(得分:7)
24小时格式是“HH”,而不是“hh”。
它在Playground 中工作的原因可能是 用户定义的设置可以覆盖12/24格式的选择,比较 What is the best way to deal with the NSDateFormatter locale "feechur"?。 为安全起见,请为日期格式化程序设置“en_US_POSIX”语言环境:
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
// Swift 3:
formatter.locale = Locale(identifier: "en_US_POSIX")