我的 iPhone 设备系统设置为 24 小时格式,我想获得 12 小时格式,即: 23:27 get 11:27 PM。
我试过:
let today = NSDate()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
let string = dateFormatter.string(from: today as Date) // 23:27
Run Code Online (Sandbox Code Playgroud)
得到23:27字符串。
我发现了这个:How to get 12 hours format time string when system set to use 24 hours 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
Run Code Online (Sandbox Code Playgroud)
但它不起作用我仍然得到23:27字符串而不是11:27pm字符串。
谢谢!
编辑:根据shallowThought's answer 不确定是否Locale是这种情况?
EDIT2 添加这个:
dateFormatter1.locale = Locale(identifier: "en_US_POSIX")
Run Code Online (Sandbox Code Playgroud)
作品。我当前的语言环境是en_CN.
您的代码在 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)
}
Run Code Online (Sandbox Code Playgroud)
印刷:
04:38 PM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8986 次 |
| 最近记录: |