错误地将String转换为NSDate

时间:2016-05-13 18:12:14

标签: ios swift nsdate nsdateformatter

我将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-05-13时,我不知道为什么我有2016-01-11

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,很难确定可能出现的问题。在Swift游乐场,我得到2016-01-13而不是2016-01-11,但是如果我改变日期格式,我可以得到2016-05-13:

dateFormatter.dateFormat = "yyyy-MM-dd"

大写MM是关键。我会查看这个网站,以了解日期格式选项:

http://nsdateformatter.com