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


Elixir DateTime.convert用法及代码示例


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

用法:

convert(datetime, calendar)
(从 1.5.0 开始)
@spec convert(Calendar.datetime(), Calendar.calendar()) ::
  {:ok, t()} | {:error, :incompatible_calendars}

将给定的datetime 从一个日历转换为另一个。

如果无法在日历之间进行明确转换(请参阅 Calendar.compatible_calendars?/2 ),则返回 {:error, :incompatible_calendars} 元组。

例子

想象一下,有人实现了 Calendar.Holocene ,这是一个基于公历的日历,它在当前公历年的基础上增加了 10,000 年:

iex> dt1 = %DateTime{year: 2000, month: 2, day: 29, zone_abbr: "AMT",
...>                 hour: 23, minute: 0, second: 7, microsecond: {0, 0},
...>                 utc_offset: -14400, std_offset: 0, time_zone: "America/Manaus"}
iex> DateTime.convert(dt1, Calendar.Holocene)
{:ok, %DateTime{calendar: Calendar.Holocene, day: 29, hour: 23,
                microsecond: {0, 0}, minute: 0, month: 2, second: 7, std_offset: 0,
                time_zone: "America/Manaus", utc_offset: -14400, year: 12000,
                zone_abbr: "AMT"}}

相关用法


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