NSDateComponents 不返回日期
Posted
技术标签:
【中文标题】NSDateComponents 不返回日期【英文标题】:NSDateComponents doesn't return date 【发布时间】: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
是零。也许我做错了什么?
【问题讨论】:
【参考方案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)!
希望这会有所帮助!
【讨论】:
以上是关于NSDateComponents 不返回日期的主要内容,如果未能解决你的问题,请参考以下文章
NSDateComponents weekOfYear 返回错误的日期
从 NSDateComponents 创建的 NSDate 不正确?