【问题标题】:NSDateComponents doesn't return dateNSDateComponents 不返回日期
【发布时间】:2015-05-11 05:33:41
【问题描述】:
我正在尝试从 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 是零。也许我做错了什么?
【问题讨论】:
标签:
ios
swift
nsdate
nscalendar
nsdatecomponents
【解决方案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
【解决方案2】:
您从带有组件的日历中获取日期:
let neededDate = calendar.dateFromComponents(components)
【解决方案3】:
您需要更改获取neededDate 值的方式。现在你正在这样做let neededDate = components.date,它是nil,因为components.date从未被分配任何值。所以你需要的代码如下。
let date = calendar.dateFromComponents(components)!
希望这会有所帮助!