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


Elixir DateTime.to_unix用法及代码示例


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

用法:

to_unix(datetime, unit \\ :second)
@spec to_unix(Calendar.datetime(), System.time_unit()) :: integer()

将给定的datetime 转换为 Unix 时间。

datetime 预计将使用年份大于或等于 0 的 ISO 日历。

根据 System.convert_time_unit/3 ,它将返回具有给定单位的整数。

如果您想以 Unix 秒为单位获取当前时间,请不要执行 DateTime.utc_now() |> DateTime.to_unix() 。只需调用 System.os_time(:second) 即可。

例子

iex> 1_464_096_368 |> DateTime.from_unix!() |> DateTime.to_unix()
1464096368

iex> dt = %DateTime{calendar: Calendar.ISO, day: 20, hour: 18, microsecond: {273806, 6},
...>                minute: 58, month: 11, second: 19, time_zone: "America/Montevideo",
...>                utc_offset: -10800, std_offset: 3600, year: 2014, zone_abbr: "UYST"}
iex> DateTime.to_unix(dt)
1416517099

iex> flamel = %DateTime{calendar: Calendar.ISO, day: 22, hour: 8, microsecond: {527771, 6},
...>                minute: 2, month: 3, second: 25, std_offset: 0, time_zone: "Etc/UTC",
...>                utc_offset: 0, year: 1418, zone_abbr: "UTC"}
iex> DateTime.to_unix(flamel)
-17412508655

相关用法


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