我有一个字符串(例如“2014-11-06 16:32:01”) 我想把这个格式变成一个 NSDate 对象。 这是我正在做的:
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
var date = dateFormatter.dateFromString("2014-11-06 16:32:01")!
var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
var myComponents = myCalendar.components(NSCalendarUnit.WeekdayOrdinalCalendarUnit, fromDate: date)
var year = myComponents.year
var month = myComponents.month
var day = myComponents.day
年、月和日的值分别为 9223372036854775807。我的日期格式有误吗?
最佳答案
日期格式正确。但是你必须在
myCalendar.components(...)
调用。所有其他组件都设置为 NSNotFound
又名 NSIntegerMax
,
在 64 位架构上是 2^63 - 1 = 9223372036854775807
。
这应该有效:
var myComponents = myCalendar.components(.YearCalendarUnit | .MonthCalendarUnit | .DayCalendarUnit, fromDate: date)
关于swift - Swift 中来自字符串的 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26811370/