错误地将 String 转换为 NSDate

Bad converting String to NSDate

我在将 String 转换为 NSDate 时遇到问题。在我的文本字段中,当用户点击它时,可以使用 UIDatePicker 选择日期。 String 作为 TextField 中的日期看起来像这样:"yyyy-mm-dd" 现在,当我尝试使用此方法转换日期(例如 2016-05-13)时:

func changeStringToNSDate(){

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-mm-dd"
let from = moreSorts.fromDatePickerTextField.text!
let fromDate = dateFormatter.dateFromString(from)

print(fromDate)

}

当我打印 fromDate 时,我收到一条信息 fromDate 不是 2016-05-13 而是 2016-01-11 23:58:00 +0000。我不知道为什么我的 TextField 字符串显示 2016-01-13

时有 2016-01-11

根据您提供的信息很难确定哪里出了问题。在 Swift 操场上,我得到的是 2016-01-13 而不是 2016-01-11,但是如果我更改日期格式,我可以获得 2016-05-13:

dateFormatter.dateFormat = "yyyy-MM-dd"

大写的 MM 是关键。我会查看此网站以尝试使用日期格式选项:

http://nsdateformatter.com