當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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())。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。