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


Elixir Date用法及代码示例


Elixir语言中 Date 相关用法介绍如下。

Date 结构和函数。

Date 结构包含字段年、月、日和日历。可以使用 new/3 函数或使用~D(参见 Kernel.sigil_D/2 )印记来构建新日期:

iex> ~D[2000-01-01]
~D[2000-01-01]

new/3 和 sigil 都返回一个可以直接访问日期字段的结构:

iex> date = ~D[2000-01-01]
iex> date.year
2000
iex> date.month
1

此模块上的函数适用于 Date 结构以及包含与 Date 结构相同字段的任何结构,例如 NaiveDateTime DateTime 。此类函数在其类型规范中需要 Calendar.date/0 (而不是 t/0 )。

开发人员应避免直接创建 Date 结构,而应依赖此模块提供的函数以及第三方日历库中的函数。

比较日期

在 Elixir 中使用 ==/2 >/2 </2 和类似的比较是结构性的,并且基于 Date 结构字段。要正确比较日期,请使用 compare/2 函数。

使用时代

add/2 diff/2 函数可用于计算日期或检索瞬间之间的天数。例如,如果有兴趣计算从 Unix 纪元 (1970-01-01) 算起的天数:

iex> Date.diff(~D[2010-04-17], ~D[1970-01-01])
14716

iex> Date.add(~D[1970-01-01], 14716)
~D[2010-04-17]

这些函数经过优化以处理常见的纪元,例如上面的 Unix 纪元或公历纪元 (0000-01-01)。

相关用法


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