gpt4 book ai didi

datetime - Ecto.DateTime 和时区

转载 作者:行者123 更新时间:2023-12-05 00:55:03 25 4
gpt4 key购买 nike

有什么方法可以调整时区的 Ecto.DateTime 对象吗?我想从数据库中读取一个 Ecto.DateTime,然后针对用户指定的时区调整它?

另外,我想接受数据输入并将其转换回来,使用时区设置。

我一直在寻找一个图书馆或一种技术来做到这一点,但没有发现任何明显的东西

最佳答案

Ecto 不包含任何此类功能。有几个可用的 Elixir 库可以做到这一点。我只用过 timex .要使用 Ecto 在数据库中存储 Timex 值,您可以使用 timex_ecto 包裹。以下是更改 Timex.DateTime 的时区的方法值到 America/Los_Angeles :

iex(1)> original = Timex.now
#<DateTime(2016-08-17T06:24:03.015339Z Etc/UTC)>
iex(2)> timezone = Timex.Timezone.get("America/Los_Angeles", original)
#<TimezoneInfo(America/Los_Angeles - PDT (-07:00:00))>
iex(3)> converted = Timex.Timezone.convert(original, timezone)
#<DateTime(2016-08-16T23:24:03.015339-07:00 America/Los_Angeles)>
iex(4)> Timex.format!(original, "{ISO:Extended}")
"2016-08-17T06:24:03.015339+00:00"
iex(5)> Timex.format!(converted, "{ISO:Extended}")
"2016-08-16T23:24:03.015339-07:00"

关于datetime - Ecto.DateTime 和时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38989155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com