【问题标题】:Can you override NSDateFormatter 12 vs 24 hour time format without using a custom dateFormat您可以在不使用自定义 dateFormat 的情况下覆盖 NSDateFormatter 12 vs 24 小时时间格式吗
【发布时间】:2016-11-04 14:53:31
【问题描述】:

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

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

NSNumberFormatter 的设置可让您更改转换的各个方面,例如小数点分隔符。

是否有NSDateFormatter 的设置可以让我在 12 小时制和 24 小时制之间切换而无需求助于完全自定义的格式?

【问题讨论】:

    标签: swift nsdateformatter


    【解决方案1】:

    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 以外的其他内容。

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 2018-11-15
      • 1970-01-01
      相关资源
      最近更新 更多