Хранение времени UTC и летнего времени - PullRequest
0 голосов
/ 25 октября 2019

Как правило, рекомендуется хранить даты в формате UTC / GMT и преобразовывать их обратно в местное время, когда они должны отображаться пользователю. Работая в настоящее время над приложением календаря, мне интересно, как это сделать для будущих / прошлых дат с учетом текущего летнего времени.

Дата до UTC:

 let date = Date()  
 let dateFormatter = DateFormatter()
 dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
 let dt = dateFormatter.date(from: date)

Дата по местному времени:

 let date = Date()  
 let dateFormatter = DateFormatter()
 dateFormatter.timeZone = TimeZone.current
 let dt = dateFormatter.date(from: date)

Пример. Когда пользователь, проживающий в Амстердаме, планирует следующую встречу с 16:00 до 17:00 (UTC + 2). Я буду хранить эквивалент UTC, который находится с 14:00 до 15:00. Теперь, если он захочет проверить свою встречу через два месяца, когда Амстердам перешел с летнего на зимнее время (UTC-1), пользователь увидит, что его собрание перенесено на 15:00 - 16:00.

Как быЯ лучше справлюсь с этим?

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