你可以覆盖NSDateFormatter 12与24小时时间格式,而无需使用自定义dateFormat

时间:2016-11-04 14:53:31

标签: swift nsdateformatter

我想将Date作为显示字符串转换为用户的时区,但我想使用24小时时间格式而不是12小时时间格式。

我知道我可以通过显式设置自定义dateFormat字符串来做到这一点,但这会让系统生成符合用户区域设置的字符串。

NSNumberFormatter具有可让您更改转化方面的设置,例如小数点分隔符。

是否有NSDateFormatter的设置可让我在12到24小时格式之间切换而无需使用完全自定义格式?

1 个答案:

答案 0 :(得分:1)

DateFormatterdateFormat(fromTemplate:options:locale:)方法。使用此选项可根据用户的区域设置获得适当的24小时格式。

let fmt = DateFormatter.dateFormat(fromTemplate: "Hms", options: 0, locale: Locale.current)

虽然对于大多数语言环境来说这似乎都会返回HH:mm:ss。 739个可用语言环境中只有85个返回HH:mm:ss以外的其他内容。