如何格式化 Ecto 时间戳
How to format Ecto timestamp
我想在我的模板中仅使用 Ecto 在使用时自动创建的时间戳 inserted_at
(2017-04-10 16:22:43
) 的日期和月份:
<%=i.inserted_at%>
截至今天,执行此操作的最佳方法是什么?
您可以使用https://github.com/bitwalker/timex,例如:
> {:ok, default_str} = Timex.format(datetime, "{ISO:Extended}")
{:ok, "2016-02-29T12:30:30.120+00:00"}
Ecto 时间戳使用 NaiveDateTime
,当 iex 中的表示形式如下时,您可以显示此信息:~N[]
.
你可以像这样使用 NaiveDateTime 提供的 elixir:
date = "#{i.inserted_at.year}-#{i.inserted_at.month}-#{i.inserted_at.day}"
time = "#{i.inserted_at.hour}-#{i.inserted_at.minute}-#{i.inserted_at.second}"
date <> " " <> time
例如,您可以将此表示逻辑包装到 phoenix 视图中。
顺便说一句,当你有更复杂的日期操作时,你可以使用timex
deps。
我想在我的模板中仅使用 Ecto 在使用时自动创建的时间戳 inserted_at
(2017-04-10 16:22:43
) 的日期和月份:
<%=i.inserted_at%>
截至今天,执行此操作的最佳方法是什么?
您可以使用https://github.com/bitwalker/timex,例如:
> {:ok, default_str} = Timex.format(datetime, "{ISO:Extended}")
{:ok, "2016-02-29T12:30:30.120+00:00"}
Ecto 时间戳使用 NaiveDateTime
,当 iex 中的表示形式如下时,您可以显示此信息:~N[]
.
你可以像这样使用 NaiveDateTime 提供的 elixir:
date = "#{i.inserted_at.year}-#{i.inserted_at.month}-#{i.inserted_at.day}"
time = "#{i.inserted_at.hour}-#{i.inserted_at.minute}-#{i.inserted_at.second}"
date <> " " <> time
例如,您可以将此表示逻辑包装到 phoenix 视图中。
顺便说一句,当你有更复杂的日期操作时,你可以使用timex
deps。