【问题标题】:Time format (hh:mm a) not working for iOS 11.1.1 in swift 4Swift 4 中的时间格式 (hh:mm a) 不适用于 iOS 11.1.1
【发布时间】:2018-06-19 05:01:54
【问题描述】:

我正在转换格式 (hh:mm a) 的时间。它适用于所有其他版本,但它会为 11.1.1 提供错误

当我将当前 DateFormatter 更改为时间时,它只给出 hh:mm

let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"

// Set date format
// dateFormatter.timeStyle = .short
// Apply date format
let selectedtime: String = dateFormatter.string(from: sender.date)
self.timeTextField.text = selectedtime

//// It gives 02:57 only What is missing although it is working for all other version.

提前致谢!

【问题讨论】:

    标签: ios datepicker swift4 dateformatter


    【解决方案1】:

    我在 iOS 11.0.3 上遇到了同样的问题。 我的时间格式“h:mm a”或“hh:mm a”的工作方式与“hh:mm”完全一样,即显示“21:00”而不是“9:00 PM”或“09:00 PM”。

    如何解决:

    1. 如果“21:00 PM”格式是允许的,您可以在日期格式字符串中将小时标识符“h”大写,“H:mm a”或“HH:mm a”格式可以使用!

    2. 但如果没有,请设置 dateFormatter 的“区域设置”属性。就我而言,它是dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_GB"];

    Swift 解决方案: dateFormatter.locale = Locale(identifier: "en_GB") 之后我得到了“9:00 pm”字符串而不是错误的“21:00”。

     dateFormatter.locale = NSLocale.system
    

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 2013-08-27
      • 2018-04-18
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      相关资源
      最近更新 更多