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


Elixir Time.diff用法及代碼示例


Elixir語言中 Time.diff 相關用法介紹如下。

用法:

diff(time1, time2, unit \\ :second)
(從 1.5.0 開始)
@spec diff(Calendar.time(), Calendar.time(), System.time_unit()) :: integer()

返回兩次之間的差,僅考慮小時、分鍾、秒和微秒。

compare/2 函數一樣, Time 結構和其他包含時間的結構都可以使用。例如,如果傳遞了 NaiveDateTime DateTime ,則僅考慮小時、分鍾、秒和微秒。計算差異時,將忽略有關日期或時區的任何附加信息。

答案可以在 System.time_unit/0 提供的任何 unit 中返回。如果第一個時間值早於第二個,則返回一個負數。

此函數返回根據 Calendar.ISO 測量秒數的秒數差異。

例子

iex> Time.diff(~T[00:29:12], ~T[00:29:10])
2

# When passing a `NaiveDateTime` the date part is ignored.
iex> Time.diff(~N[2017-01-01 00:29:12], ~T[00:29:10])
2

# Two `NaiveDateTime` structs could have big differences in the date
# but only the time part is considered.
iex> Time.diff(~N[2017-01-01 00:29:12], ~N[1900-02-03 00:29:10])
2

iex> Time.diff(~T[00:29:12], ~T[00:29:10], :microsecond)
2_000_000
iex> Time.diff(~T[00:29:10], ~T[00:29:12], :microsecond)
-2_000_000

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Time.diff(time1, time2, unit \\ :second)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。