且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在elixir中以ISO 8601格式生成当前日期?

更新时间:2023-02-03 22:11:37

2016年7月18日更新

Elixir 1.3 及更高版本对此提供了本地支持:

Elixir 1.3 and up has support for this natively:

iex> DateTime.utc_now() |> DateTime.to_iso8601()
"2016-07-18T21:49:08.132428Z"

原始版本2015-12-01 (已在2016-07-18中添加了版本差异,谢谢@sebastian_k)

如果您不介意使用外部库,则可以使用出色的 timex 库:

You could use the excellent timex library if you didn't mind using an external library:

timex 1.x docs

iex> Timex.Date.local |> Timex.DateFormat.format("{ISOz}")
{:ok, "2015-12-01T09:40:44.716Z"}

timex 2.x 文档

iex> Timex.DateTime.local() |> Timex.format("{ISOz}")
{:ok, "2015-12-01T09:40:44.716Z"}

timex 3.x 文档

iex> Timex.now() |> Timex.format("{ISO:Extended:Z}")
{:ok, "2015-12-01T09:40:44.716417ZZ"}