Search code examples
iosswiftnsdatenscalendarnsdatecomponents

NSDateComponents doesn't return date


I am trying to get data from 2 variables: hours = "08" and minutes = 30. I am doing it this way:

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

But neededDate is nil. Maybe I'm doing something wrong?


Solution

  • If you want to use NSDateComponents in this direction you have to set the calendar.

    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