我正在使用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”。谢谢。 –