将 String 转换为 NSDate 时减去小时
On hour is subtracted when converting a String to NSDate
这是代码:
let dateString = "2015-07-13T17:32:32.781Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.SSS'Z'"
var theDate = dateFormatter.dateFromString(dateString)!
println(theDate) // 2015-07-13 16:32:32 +0000
在此过程中,原始日期减去一小时。为什么?
@mipadi 已经很好地解释了这个问题,所以我认为你应该将时区设置为 UTC。
let dateString = "2015-07-13T17:32:32.781Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")
var theDate = dateFormatter.dateFromString(dateString)!
println(theDate)
这是代码:
let dateString = "2015-07-13T17:32:32.781Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.SSS'Z'"
var theDate = dateFormatter.dateFromString(dateString)!
println(theDate) // 2015-07-13 16:32:32 +0000
在此过程中,原始日期减去一小时。为什么?
@mipadi 已经很好地解释了这个问题,所以我认为你应该将时区设置为 UTC。
let dateString = "2015-07-13T17:32:32.781Z"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")
var theDate = dateFormatter.dateFromString(dateString)!
println(theDate)