Преобразование даты в часовой пояс устройства с помощью Swift - PullRequest
0 голосов
/ 13 марта 2020

Я получаю список дат в качестве ответа службы, где я показываю календарь, где эти даты отмечены точками (например, эта дата имеет событие.). В ответе указывается дата с GMT как

[
        {
            "id": 1,
            "filled_date": "2019-11-21T00:00:00.000Z"
        },
        {
            "id": 2,
            "filled_date": "2019-11-26T00:00:00.000Z"
        },
        {
            "id": 5,
            "filled_date": "2019-11-28T00:00:00.000Z"
        }
]

. Однако при использовании этого значения в другом часовом поясе в нем отображаются предыдущие или следующие даты, отмеченные в соответствии с часовым поясом. например, 2019 21 ноября должен быть отмечен как точка для события в этот день, однако в часовом поясе США это 2019 20 ноября.

Как мне показать эту дату как 21 ноября 2019 года независимо от любой часовой пояс.

1 Ответ

0 голосов
/ 13 марта 2020

Вы хотите, чтобы устройство форматирования данных использовало часовой пояс GMT, а не часовой пояс устройства пользователя. Как то так:

lazy var dmyFormatter: DateFormatter = {
    let dmyFormatter = DateFormatter()
    dmyFormatter.timeZone = TimeZone(secondsFromGMT: 0)
    dmyFormatter.dateStyle = .long
    return dmyFormatter
}()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...