Как отформатировать дату в формате 09-ноя-2014 с помощью DateFormatter в iOS и Swift?
Я пытаюсь отформатировать дату в окне выбора даты. Я не могу найти формат для отображения даты в формате 09 ноября 2014 года. Он всегда отображается в формате 09 ноября 2014 года. Я провел большой поиск, но не могу понять, какой из них правильный для ввода. Может кто-нибудь мне помочь? Tx заранее.
@objc func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
dateFormatter.dateStyle = DateFormatter.Style.medium
dateFormatter.timeStyle = DateFormatter.Style.none
dateOfBirthTextField.text = dateFormatter.string(from: sender.date)
}
2 ответа
Не устанавливайте стили. Просто установите формат.
Вы используете либо dateFormat
или вы используете dateStyle
а также timeStyle
,
Обратите внимание, что лучше избегать использования dateFormat
даты, которые вы хотите показать пользователю, поскольку ваш жестко заданный формат не будет стандартным для большинства пользователей.
Также имейте в виду, что MM
показать номер месяца Если вы хотите сокращенное название месяца, используйте MMM
,
Вы не должны использовать dateStyle
& timeStyle
здесь вам нужен конкретный формат даты, ваш код должен выглядеть так:
@objc func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
dateOfBirthTextField.text = dateFormatter.string(from: sender.date)
}
Надеюсь, поможет.