サーバから文字列を取得しています この文字列を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