如何查看手机时间格式是否设置为24小时? [复制]

2024-04-17

我正在 Swift 2 中构建一个闹钟应用程序。我似乎找不到一个合适的方法来确定手机是否设置为 24 小时时间。 此外,我无法将模拟器更改为 24 小时工作,因此我什至无法通过调整时间设置来测试一些替代方案。有任何想法吗?


  • 有一个模板说明符NSDateFormatter适合这个需求。这个说明符是j你可以通过dateFormatFromTemplate:options:locale:的方法NSDateFormatter。格式化程序返回h a如果区域设置设置为 12H,否则HH如果设置为 24H,那么您可以轻松检查输出字符串是否包含a或不。这依赖于locale您应该设置的格式化程序的属性NSLocale.currentLocale()用于获取系统当前的区域设置:

Swift 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
    }

Swift 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
    }

参考:NSDateFormatter 类参考 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/#//apple_ref/occ/clm/NSDateFormatter/dateFormatFromTemplate:options:locale: - Unicode ts35-23 日期字段符号表 http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Field_Symbol_Table

  • 在模拟器中,您无法像在真实设备上那样在设置中进行 12/24 小时切换。 更改此设置的一个技巧是编辑模拟器的日期样式,而不影响当前选定的区域或日历。您可以在“设置”>“常规”>“语言和区域”>“高级”中找到此选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何查看手机时间格式是否设置为24小时? [复制] 的相关文章

随机推荐