如何将String转换为NSDate然后再转换回String?
我尝试这样做:
//String to NSDate
let dateString = "2016-07-07T18:09:41Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.dateFromString(dateString)
//NSDate to String
let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm"
formatter.locale = NSLocale(localeIdentifier: "en")
let time = formatter.stringFromDate(date!)
在我的情况下,时间是21:09,即使它是18:09。设置区域设置什么也不做。我想我做错了什么,只是不确定是什么。
答案 0 :(得分:2)
Locale
没有设置时区,只是将格式设置为用户的区域设置和偏好设置。明确设置timeZone
以获得所需的结果。例如,要将时区设置为系统时区,请尝试:
dateFormatter.timeZone = NSTimeZone.systemTimeZone()
formatter.timeZone = NSTimeZone.systemTimeZone()