Umer Khan
Umer Khan

Reputation: 203

DatePicker returning Wrong Date Swift 5

Programmatically implemented

set limit

    let calendar        = Calendar.current
    let currentDate     = Date()
    var components      = DateComponents()
    components.calendar = calendar

    components.year     = -100
    let minDate         = calendar.date(byAdding: components, to: currentDate)!

    components.year     = -7
    let maxDate         = calendar.date(byAdding: components, to: currentDate)!

    datePicker.minimumDate = minDate
    datePicker.maximumDate = maxDate

method call on value change

@objc fileprivate func datePickerChanged() {
    print(datePicker.date)
}

Target

datePicker.addTarget(self, action: #selector(datePickerChanged), for: .valueChanged)

Screenshot

Upvotes: 1

Views: 689

Answers (1)

Rachit Khattar
Rachit Khattar

Reputation: 86

You can fix this issue by adding the following

datePicker.timeZone = TimeZone(secondsFromGMT: 0)

Upvotes: 3

Related Questions