我的问题是如何在应用中显示12小时时间格式,如果用户的系统设置是24小时时间。我不想将dateFromatter.locale更改为特定的。
我的研究是:
如果系统设置使用12小时,格式"HH"
将显示24小时,"hh"
将显示12小时。
但是,如果使用24H进行系统设置,格式"HH"
和"hh"
都会显示24H,并忽略"a"
。
似乎24H系统设置正在覆盖app中的格式字符串。
我知道NSLocale(localeIdentifier: "en_US_POSIX")
会显示12H而NSLocale(localeIdentifier: "en_GB")
会显示24H。但是,更改NSDateFormatter的语言环境将导致其他语言(如中文和日语)中的固定时间字符串