Пожалуйста, проверьте ваш язык, он отличается от григорианского.Если вы хотите, чтобы ваш 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дата.
Ура!