서버에서 문자열을 가져 왔습니다. 이 문자열을이 formate로 NSDate로 변환합니다. "2016-11-05T12 : 00 : 00.000Z"을 UTC NSDate를 로컬 NSDate로 변환하지 마십시오.
class func convertUTCDateToLocateDate(dateStr:String) -> NSDate{
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormatter.timeZone = NSTimeZone(name: "UTC")
let date = dateFormatter.dateFromString(dateStr)
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z"
dateFormatter.timeZone = NSTimeZone.localTimeZone()
let timeStamp = dateFormatter.stringFromDate(date!)
let dateForm = NSDateFormatter()
dateForm.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
dateForm.timeZone = NSTimeZone.localTimeZone()
let dateObj = dateForm.dateFromString(timeStamp)
return dateObj!
}
은 매개 변수 문자열이 가정하지만 난이 문자열을 변환하여
NSDate
개체를 반환 할 때 내 현지 시간에 따라 시간이 변경되지 않습니다. 위의 코드에서
timeStamp
문자열로 정확한 시간을 얻습니다. 하지만 내가 그
timeStamp
문자열을 NSDate로 다시 변환하려고하면 그 날짜와 시간을 매개 변수로 다시 보여줍니다.
날짜 형식에서'Z'를 인용하지 마십시오. 문자 그대로'Z'는 원하지 않습니다. 시간대로 적절하게 처리되기를 원합니다. – rmaddy