我发现Timex.Timezone.convert(t, "Europe/London")返回以下格式的DateTime对象:#<DateTime(2019-04-24T17:00:00 Europe/London (+01:00:00))>。我的问题是,当英国夏令时10月份结束时,Timex.Timezone.convert(t, "Europe/London")会自动调整并返回协调世界时的时间吗?
发布于 2019-04-23 22:54:56
是的,它将返回+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>https://stackoverflow.com/questions/55813085
复制相似问题