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


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