Добавляет ли z к BST UTC? - PullRequest
       19

Добавляет ли z к BST UTC?

0 голосов
/ 18 июня 2019

Дата вводится из пользовательского интерфейса в часовом поясе BST (скажем, 03.02.2016, 00:00). Сохранено в БД как то же самое (02.03.2016 00:00) BST. В сгенерированном ответе дата отправляется как 2016-02-03T00: 00: 00Z (в каком формате ??). Поскольку там добавлено Z, значит ли это, что мы конвертируем из BST в UTC? Просьба объяснить.

1 Ответ

2 голосов
/ 18 июня 2019

Несколько вещей:

  • BST может относиться к любому из «Британского летнего времени» (UTC + 1), «Бангладешского стандартного времени» (UTC + 6) или «Стандартное время Бугенвиля» (UTC + 11).В оставшейся части этого ответа я предполагаю, что вы имели в виду первый.

  • В 2016 году Великобритания перешла с GMT (UTC + 0) на BST (UTC + 1) 27 марта .Таким образом, на указанную вами дату (3 февраля) BST не действовал .

  • Невозможно определить, предпринимается ли попытка преобразования, учитывая значения, которые выпредоставлено, потому что местное время в эту дату оказывается равным нулю смещения от UTC.Если вы проверили дату в середине лета и обнаружили, что результирующее значение на один час меньше, чем ввод, тогда действительно происходит преобразование в UTC.

  • The Z - это обозначение UTC в форматах ISO 8601 и RFC 3339 .Добавление означает, что данное значение должно интерпретироваться в терминах UTC.Если ваши значения действительно в UTC, то Z там правильно.Если на самом деле ваши значения должны интерпретироваться как находящиеся по местному времени в Лондоне, то вам следует вместо этого добавить смещение (даже если оно равно нулю).Например:

    • 2016-02-03T00:00:00+00:00 (GMT)
    • 2016-04-01T00:00:00+01:00 (BST)
...