我从JSON响应中获取日期时间字符串,如下所示:
2019-07-18 13:39:05
这次是格林尼治标准时间。如何将其转换为语言环境时区,在我的情况下是东部夏令时。
func convertDateFormat(date:String) -> String {
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateStyle = .long
dateFormatterPrint.timeStyle = .short
let date = dateFormatterGet.date(from: date)
return dateFormatterPrint.string(from: date!)
}
在上面的代码中,结果应为July 18, 2019 at 9:39 AM
谢谢
答案 0 :(得分:1)
输入的内容是格林尼治标准时间的固定格式的日期字符串,因此dateFormatterGet
必须具有
示例:
let dateFormatterGet = DateFormatter()
dateFormatterGet.locale = Locale(identifier: "en_US_POSIX")
dateFormatterGet.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
其他所有操作都应该没问题:您没有为dateFormatterPrint
设置时区,以便使用用户的时区。