我的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)
答案 0 :(得分:0)
我能够找到解决方案。
将NSDateFormatter的本地设置为en_US_POSIX将解决此问题。它适用于24小时和12小时格式。
Locale.init(identifier: "en_US_POSIX")
以下是详细信息的链接:http://stephentolton.com/nsdateformatter-24-hour-time-and-region-formats/