NSDateFormatter dateFromString 返回错误的日期

NSDateFormatter dateFromString returning wrong date

快速提问。

我有一个字符串日期:例子var dateString = "17-02-2015"

我使用:

var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"

var newDate = dateFormatter.dateFromString(dateString)

我得到输出:2015-01-16 23:02:00 +0000

为什么我错过了一天?是因为时区吗? (我在 +1,并且在时区为 0 的日期?)。

我也试过设置时区:

dateFormatter.locale = NSLocale.currentLocale()
dateFormatter.timeZone = NSTimeZone.systemTimeZone()

但是没有成功。

我错过了什么?

那是 UTC 时间,考虑到您的 LocalTime 是 1+

,这是正确的
var dateString = "17-02-2015"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"

var newDate = dateFormatter.dateFromString(dateString)!

println(newDate.descriptionWithLocale(NSLocale.currentLocale())!)