Search code examples
iosswiftswift3uidatepicker

iOS Swift 3 - UIDatePicker


I have a UIDatePicker that shows the day, month and the year. But I don't know how to get those parameters.

So What is the best way to get the day, month and year from UIDatePicker using Swift 3?


Solution

  • In Swift 3 you can use DateComponents for that like this way.

    First add action on datepicker for .valueChanged events.

    datepicker.addTarget(self, action: #selector(dateChanged(_:)), for: .valueChanged)
    

    Then get selected day, month and year using DateComponents in the action.

    func dateChanged(_ sender: UIDatePicker) {
        let components = Calendar.current.dateComponents([.year, .month, .day], from: sender.date)
        if let day = components.day, let month = components.month, let year = components.year {
            print("\(day) \(month) \(year)")
        }
    }