Эликсир - Timex обнаруживает, когда начинается и заканчивается британское летнее время - PullRequest
1 голос
/ 23 апреля 2019

Я обнаружил, что Timex.Timezone.convert(t, "Europe/London") возвращает DateTime объект этого формата: #<DateTime(2019-04-24T17:00:00 Europe/London (+01:00:00))>.Мой вопрос: когда BST закончится в октябре, Timex.Timezone.convert(t, "Europe/London") автоматически настроит и вернет время UTC?

1 Ответ

1 голос
/ 23 апреля 2019

Да, он вернет +00:00 GMT Europe/London вместо +01:00 BST Europe/London.

Как предлагается в комментариях, это легко проверить: при условии, что {:timex, "~> 3.0"} добавлено как зависимость, запустите

$iex -S mix
iex(1)> t = DateTime.from_naive!(~N[2019-11-01 13:26:08.003], "Etc/UTC")
#DateTime<2019-11-01 13:26:08.003Z>
iex(2)> Timex.Timezone.convert(t, "Europe/London")                      
#DateTime<2019-11-01 13:26:08.003+00:00 GMT Europe/London>
iex(3)> t = DateTime.from_naive!(~N[2019-10-01 13:26:08.003], "Etc/UTC")
#DateTime<2019-10-01 13:26:08.003Z>
iex(4)> Timex.Timezone.convert(t, "Europe/London")                      
#DateTime<2019-10-01 14:26:08.003+01:00 BST Europe/London>
...