我正在使用swift的日期格式。試圖隱蔽字符串日期的NSDate和NSSate串日期(ISO 8601格式)Swift NSDate iso 8601格式
這是我的代碼
let stringDate = "2016-05-14T09:30:00.000Z" // iso 8601 format
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" //iso 8601
let date = dateFormatter.dateFromString(stringDate)
print("Date = \(date)") // Output is 2016-05-14 16:30:00 +0000
// again converting it date to string using stringFromDate
print("\(dateFormatter.stringFromDate(date!))") // 2016-05-14T09:30:00.000Z
我試圖理解爲什麼我在GMT格式獲得的NSDate(增加7小時,時間09:30至16:30)? 如果我將NSDate date
變量轉換爲字符串,那麼我得到的是原始字符串日期。任何人都可以幫助我理解這裏發生的事情嗎?
你瞄準的MacOS 10.12或更高版本?有一個新的類「ISO8601DateFormatter」,可能會有所幫助。 – sbooth
不,我正在macOS 10.11.6和iOS 9上工作。 我將檢查此類「ISO8601DateFormatter」。謝謝。 –