NSDateComponents不返回日期

时间:2015-05-11 05:33:41

标签: ios swift nsdate nscalendar nsdatecomponents

我正在尝试从2个变量中获取数据:hours = "08"minutes = 30。我是这样做的:

let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)
let components = NSDateComponents()
components.hour = hours.toInt()!
components.minute = minutes.toInt()!
let neededDate = components.date

但是neededDate是零。也许我做错了什么?

3 个答案:

答案 0 :(得分:1)

如果要在此方向上使用NSDateComponents,则必须设置日历。

let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
let components = NSDateComponents()

components.calendar = calendar // Add this line

components.hour = hours.toInt()!
components.minute = minutes.toInt()!
let neededDate = components.date

答案 1 :(得分:0)

您可以从包含组件的日历获取日期:

let neededDate = calendar.dateFromComponents(components)

答案 2 :(得分:0)

您需要更改获取neededDate值的方式。现在,您正以let neededDate = components.date的方式执行此操作nil,因为components.date永远不会分配任何值。所以你需要的代码如下。

let date = calendar.dateFromComponents(components)!

希望这有帮助!