【问题标题】: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)!
        

        希望这会有所帮助!

        【讨论】:

          猜你喜欢
          • 2013-05-07
          • 1970-01-01
          • 2011-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-05
          • 2011-10-20
          相关资源
          最近更新 更多