从昨天开始,我试图解决这个问题,但我放弃了。现在我有了字符串日期"2018-10-30 01:00 PM"
,当我尝试将其转换为日期时,时间格式将更改为24小时。我的意思是就像"2018-10-30 13:00:00 UTC"
。
这是我的代码:
let dateFormatter5 = DateFormatter()
dateFormatter5.dateFormat = "yyyy-MM-dd hh:mm a"
dateFormatter5.locale = Locale(identifier: "en_US_POSIX")
dateFormatter5.timeZone = NSTimeZone(abbreviation: "GMT+0:00")! as TimeZone
let now = dateFormatter5.date(from: "2018-10-30 01:00 pm")!
我需要使用相同的时间格式(12小时)转换此字符串。 有想法吗?
答案 0 :(得分:0)
如果您的原始日期字符串为UTC时区:
let dateStr = "2018-10-30 01:00 PM"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm a"
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
if let now = dateFormatter.date(from: dateStr) {
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss 'UTC'"
dateFormatter.string(from: now) // "2018-10-30 13:00:00 UTC"
}