当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir DateTime.shift_zone用法及代码示例


Elixir语言中 DateTime.shift_zone 相关用法介绍如下。

用法:

shift_zone(datetime, time_zone, time_zone_database \\ Calendar.get_time_zone_database())
(从 1.8.0 开始)
@spec shift_zone(t(), Calendar.time_zone(), Calendar.time_zone_database()) ::
  {:ok, t()} | {:error, :time_zone_not_found | :utc_only_time_zone_database}

更改 DateTime 的时区。

返回同一时间点的 DateTime ,但在提供的时区。它假定 DateTime 是有效的并且存在于给定的时区和日历中。

默认情况下,它使用 Calendar.get_time_zone_database/0 返回的默认时区数据库,默认为仅处理 "Etc/UTC" 日期时间的 Calendar.UTCOnlyTimeZoneDatabase 。其他时区数据库可以作为参数传递或全局设置。请参阅模块文档中的“时区数据库”部分。

例子

iex> {:ok, pacific_datetime} = DateTime.shift_zone(~U[2018-07-16 10:00:00Z], "America/Los_Angeles", FakeTimeZoneDatabase)
iex> pacific_datetime
#DateTime<2018-07-16 03:00:00-07:00 PDT America/Los_Angeles>

iex> DateTime.shift_zone(~U[2018-07-16 10:00:00Z], "bad timezone", FakeTimeZoneDatabase)
{:error, :time_zone_not_found}

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 DateTime.shift_zone(datetime, time_zone, time_zone_database \\ Calendar.get_time_zone_database())。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。