Получение неверного формата гггг в UIDatePicker - PullRequest
0 голосов
/ 23 сентября 2019

Один из моих пользователей столкнулся с проблемой выбора даты, и это выглядит так.Я не понимаю, почему формат «гггг» такой.

Кто-нибудь сталкивался с этим раньше?

enter image description here

1 Ответ

0 голосов
/ 23 сентября 2019

Пожалуйста, проверьте ваш язык, он отличается от григорианского.Если вы хотите, чтобы ваш DateFormatter всегда был григорианским календарем, проверьте расширение ниже.

extension DateFormatter {

private static var dateFormatter = DateFormatter()

class func initWithSafeLocale(withDateFormat dateFormat: String? = nil) -> DateFormatter {

    dateFormatter = DateFormatter()
    dateFormatter.locale = Locale.init(identifier: "en_US_POSIX")
    if dateFormat != nil, let format = dateFormat {
        dateFormatter.dateFormat = format
    }else{
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
    }
    return dateFormatter
}

}

extension Date {

var dateFormatted: String {
    let formatter = DateFormatter.initWithSafeLocale(withDateFormat: DateFormatorEnum.yyyyMMDD.rawValue)
    return  formatter.string(from: self as Date)
}

}

Использование:

self.txtDateOfBirth.text = datePicker.date.dateFormatted

Отображение выбора даты на локальном, но в текстовом поле всегда есть Georgenдата.

Ура!

...