Я искал и искал, но в большинстве сообщений говорится о создании локализованной строки из Date ().Мне нужен объект даты, чтобы таймер срабатывал в нужное время.
Я понимаю, что, возможно, что-то упустил ... Это лучшее, что у меня есть:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yy"
dateFormatter.locale = Locale.current
dateFormatter.timeZone = TimeZone.current
let todayDate = dateFormatter.date(from: "05/21/18")!
print(todayDate)
Какие выходы:
2018-05-21 07:00:00 +0000
> Вопрос: Почему +0000, если я устанавливаю переменную dateFormatter timeZone в .current?
+ Обновление 01:
После комментариев @ MadProgrammer:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yy HH:mm:ss z"
dateFormatter.locale = Locale.current
dateFormatter.timeZone = TimeZone.current
let dateString = dateFormatter.string(from: Date())
let todayDate = dateFormatter.date(from: dateString)!
print(dateString)
print(todayDate)
Какие выходы, первый из которых правильный:
05/21/18 19:29:19 PDT
2018-05-22 02:29:19 +0000
> Вопрос: Почему создание даты из объекта даты dateFormatter.string (...) так сильно отличается?
Заранее спасибо!