Класс DateFormatter не работает в Swift 3?

Я пытаюсь использовать класс Date, который предоставляется из библиотеки Swift 3. Я не уверен, правильно ли я это делаю. Когда я печатаю дату, она печатает правильную дату, но когда я пытаюсь преобразовать ее из даты в строку, она меняет дату на что-то другое.

let today = Date()
print(" Date object : \(today)")

let format = DateFormatter()
format.dateFormat = "mm/dd/yy"

print(" Date to String : \(format.string(from: today)")

Который дает вывод:

Дата объекта: 2017-06-03 18:13:39 +0000

Дата до строки: 13/03/17

2 ответа

Решение

mm спецификатор формата для минут, поэтому вывод возвращается 13 вместо 06это время в минутах, когда вы звонили Date(),

Вам нужно будет использовать MM для отображения месяца.

См. Юникод отчет о спецификаторах даты для получения дополнительной информации: http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html

Нет, это не так. Ваш формат - Минута, День и Год. Работает точно так, как должно.

Попробуй ММ вместо мм.

Другие вопросы по тегам