Swift: локальный объект Date и местный часовой пояс - PullRequest
0 голосов
/ 22 мая 2018

Я искал и искал, но в большинстве сообщений говорится о создании локализованной строки из 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 (...) так сильно отличается?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...