在iOS中将日期从24小时格式转换为12小时格式

时间:2019-01-09 13:55:14

标签: ios iphone swift

我的iPhone 设备的默认时间格式为24小时。我在应用程序中收到的日期字符串也是24小时格式。但是,当我使用DateFormatter将此日期字符串转换为12小时格式的日期字符串时,它仍返回24小时格式。

  

我收到以下格式的日期“ yyyy-MM-dd HH:mm:ss”,并将其转换为“ MM / dd / yyyy hh:mm a”,但时间仍为24小时格式。
  例如接收日期为:2019-01-08 14:01:04,转换日期为01/08/2019 14:01。

format = MM/dd/yyyy hh:mm a
timeZone = Asia/Kolkata (current)
locale = Locale.current

这是我的代码段:-

let formatter = DateFormatter()
formatter.dateFormat = format
formatter.timeZone = timeZone
formatter.locale = locale
formatter.string(from: DATE_OBJECT)

1 个答案:

答案 0 :(得分:0)

我能够找到解决方案。

  

将NSDateFormatter的本地设置为en_US_POSIX将解决此问题。它适用于24小时和12小时格式。
  Locale.init(identifier: "en_US_POSIX")

以下是详细信息的链接:http://stephentolton.com/nsdateformatter-24-hour-time-and-region-formats/