📅  最后修改于: 2023-12-03 15:00:35.527000             🧑  作者: Mango
Elixir Timex是一个用于处理日期、时间和时间戳的Elixir库。它的API易于使用,为日期和时间的处理提供了丰富的功能。
在mix.exs
文件中添加Timex依赖项:
def deps do
[{:timex, "~> 3.7"}]
end
然后运行mix deps.get
安装Timex。
使用Timex.now/0
函数获取当前时间。
iex> Timex.now()
#<DateTime(2021-11-18T20:39:10.179353Z)>
使用Timex.format!/3
函数将时间格式化为字符串。第一个参数是要格式化的时间,第二个参数是字符串格式,第三个参数是选项。
iex> Timex.format!(Timex.now(), "%Y-%m-%d %H:%M:%S")
"2021-11-18 20:39:10"
iex> Timex.format!(Timex.now(), "{YYYY}-{0M}-{0D}")
"2021-11-18"
使用Timex.parse!/2
函数将字符串解析为时间。第一个参数是要解析的字符串,第二个参数是字符串格式。
iex> Timex.parse!("2021-11-18 20:39:10", "%Y-%m-%d %H:%M:%S")
#<DateTime(2021-11-18T20:39:10.000000Z)>
使用Timex.shift/2
函数增加或减少时间。第一个参数是要修改的时间,第二个参数是要增加或减少的秒数。
iex> Timex.shift(Timex.now(), seconds: 10)
#<DateTime(2021-11-18T20:39:20.172581Z)>
iex> Timex.shift(Timex.now(), minutes: -5)
#<DateTime(2021-11-18T20:34:10.179326Z)>
使用Timex.diff/2
函数计算两个时间之间的差异。第一个参数是较早的时间,第二个参数是较晚的时间。
iex> now = Timex.now()
#<DateTime(2021-11-18T20:39:10.179510Z)>
iex> later = Timex.shift(now, seconds: 60)
#<DateTime(2021-11-18T20:40:10.179510Z)>
iex> diff = Timex.diff(later, now)
{:ok, 60}
iex> Timex.duration(diff)
60_000
Timex还提供了许多其他功能,如日期加减、格式化选项、本地化等。更多信息请参见Timex文档和API。