我想将Date转换为用户所在时区的显示字符串,但是我想使用24小时时间格式而不是12小时时间格式。
我知道我可以通过显式地设置自定义dateFormat
字符串来做到这一点,但是这失去了让系统生成符合用户语言环境设置的字符串的好处。
NSNumberFormatter
的设置允许您更改转换的各个方面,如小数分隔符。
是否有NSDateFormatter
的设置,可以让我在12和24小时格式之间切换,而不必诉诸于完全自定义的格式?
DateFormatter
具有dateFormat(fromTemplate:options:locale:)
方法。使用它可以根据用户的区域设置获得适当的24小时格式。
let fmt = DateFormatter.dateFormat(fromTemplate: "Hms", options: 0, locale: Locale.current)
虽然这似乎返回HH:mm:ss
对于大多数地区。在739个可用的语言环境中,只有85个返回HH:mm:ss
以外的内容。