错误地将 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 是关键。我会查看此网站以尝试使用日期格式选项:
我在将 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
根据您提供的信息很难确定哪里出了问题。在 Swift 操场上,我得到的是 2016-01-13 而不是 2016-01-11,但是如果我更改日期格式,我可以获得 2016-05-13:
dateFormatter.dateFormat = "yyyy-MM-dd"
大写的 MM 是关键。我会查看此网站以尝试使用日期格式选项: