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


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。