我正在Swift 2中构建一个闹钟应用程序.我似乎无法找到一个合适的方法来确定手机是否设置为24小时.另外我无法将模拟器更改为24小时工作,所以我甚至无法通过播放时间设置来测试一些替代方案.有任何想法吗?
Nic*_*chi 46
NSDateFormatter适合这种需要的模板说明符.这个说明符是j你可以通过它的dateFormatFromTemplate:options:locale:方法得到它NSDateFormatter.h a如果语言环境设置为12H,HH则格式化程序返回,否则如果设置为24H,则可以轻松检查输出字符串是否包含a.这取决于locale您应该设置NSLocale.currentLocale()为获取系统当前语言环境的格式化程序的属性:斯威夫特3
let locale = NSLocale.current
let formatter : String = DateFormatter.dateFormat(fromTemplate: "j", options:0, locale:locale)!
if formatter.contains("a") {
//phone is set to 12 hours
} else {
//phone is set to 24 hours
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
let locale = NSLocale.currentLocale()
let formatter : String = NSDateFormatter.dateFormatFromTemplate("j", options:0, locale:locale)!
if formatter.containsString("a") {
//phone is set to 12 hours
} else {
//phone is set to 24 hours
}
Run Code Online (Sandbox Code Playgroud)
参考:NSDateFormatter类参考 - Unicode ts35 - 23日期字段符号表
| 归档时间: |
|
| 查看次数: |
5813 次 |
| 最近记录: |