NSDateFormatter 和 stringFromDate

NSDateFormatter and stringFromDate

所以,我有

let formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "yyyy MM dd"

然后我有

dateLabel.text = formatter.stringFromDate(currentDate!)

但是当我这样做时:

(lldb) po dateLabel.text
▿ Optional<String>
  - Some : "2016 01 17"

(lldb) po currentDate
▿ Optional<NSDate>
  - Some : 2016-01-18 00:00:00 +0000

显然,从 2016-01-18 到字符串的转换结果为 2016 01 17。有什么想法吗?

您需要参考UTC时区

    let dateString = "2016 01 17"
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")
    let s = dateFormatter.dateFromString(dateString)
    print(s)