swift NSDateFormatter无法正常工作

Ang*_*han 4 nsdate nsdateformatter ios swift

我正在尝试格式化时间如下:

let formatter = NSDateFormatter()
formatter.dateFormat = "hh_mm_ss"
let d = formatter.stringFromDate(NSDate())
println("formatted text is: \(d)")
Run Code Online (Sandbox Code Playgroud)

假设当前时间是2014年9月3日22:15:30

  1. 当我在操场上运行此脚本时,它会打印正确格式化的时间:22_15_30.
  2. 在AppDelegate上运行时,它不会打印格式化的时间: 22:15:30

我正在使用xcode 6 beta 5 ...我错过了什么吗?为什么stringFromDate没有返回格式正确的日期?

编辑:我正在使用xcode 6 beta 6.

谢谢!

Mar*_*n R 7

24小时格式是"HH",而不是"hh".

它在Playground中工作的原因可能是 用户定义的设置可以覆盖12/24格式的选择,比较 什么是处理NSDateFormatter语言环境"feechur"的最佳方法?.为安全起见,请为日期格式化程序设置"en_US_POSIX"语言环境:

formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")

// Swift 3:
formatter.locale = Locale(identifier: "en_US_POSIX")
Run Code Online (Sandbox Code Playgroud)