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

时间:2015-12-01 08:51:49

标签: elixir

我需要使用与以下格式相同的格式生成当前时间的字符串:20130524T000000Z

该示例是Fri, 24 May 2013 00:00:00 GMT的时间戳。

我该怎么做?有没有办法在没有外部包的情况下做到这一点?

2 个答案:

答案 0 :(得分:5)

更新2016-07-18

Elixir 1.3以及本地支持:

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

原创2015-12-01 (版本差异已添加2016-07-18,感谢@sebastian_k)

如果您不介意使用外部库,可以使用优秀的timex库:

timex 1.xdocs

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

timex 2.xdocs

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

timex 3.xdocs

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

答案 1 :(得分:-1)

我设法使用以下代码:

datepicker-popup="mm/dd/yyyy"

但也许有更好的方法?