我的iPhone设备系统设置为24小时格式我希望获得12小时格式,即: 23:27 获取 11:27 PM 。
我试过了:
let today = NSDate()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
let string = dateFormatter.string(from: today as Date) // 23:27
获得23:27
字符串。
我发现了这个:How to get 12 hour format time string when system is set to use 24 hour format
let today = NSDate()
let dateFormatter = DateFormatter()
let dateFormat = DateFormatter.dateFormat(fromTemplate:"hh:mm a", options: 0, locale: NSLocale.current)
dateFormatter.dateFormat = dateFormat
let string = dateFormatter.string(from: today as Date) //23:27 i want 11:27 pm
但它不起作用我仍然有23:27
字符串而不是11:27pm
字符串。
谢谢!
修改:
根据{{1}}的回答,不确定shallowThought
是否属于这种情况?
EDIT2 加上这个:
Locale
的工作原理。我当前的语言环境是dateFormatter1.locale = Locale(identifier: "en_US_POSIX")
。
答案 0 :(得分:4)
您的代码在iPhone6,iOS 10.1.1上运行正常,日期设置为24小时:
override func viewDidLoad() {
super.viewDidLoad()
let today = NSDate()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
let string = dateFormatter.string(from: today as Date)
print(string)
}
打印:
04:38 PM