Ecto inserted_at,如何只获取日期的一部分?
Ecto inserted_at, how to get only part of the date?
我开始学习 Elixir - Phoenix,来自 Rails,我很喜欢它。
我对从 Ecto 获得的日期有疑问:我只需要显示自动生成的日期 inserted_at。我也尝试使用 Timex 和 timex_ecto 插件来实现这一点,但现在运气不好。
您可以对 Ecto.DateTime.to_erl/1:
的结果进行模式匹配
iex(4)> {{_, _, day}, _} = Ecto.DateTime.to_erl(date)
{{2016, 1, 5}, {16, 49, 19}}
iex(5)> day
5
如果您想使用 timex,一旦您得到 erlang 日期时间格式 ({{y, m, d}, {h, m, s}}
) 的结果,您就可以使用 Timex.Date.from/1
我通常使用日历依赖(添加到混合文件)然后
给定数据库中的日期,例如 date_from_db="2016-01-08T00:14:49" 您可以执行以下操作:
{:ok, date, _} = date_from_db |> Calendar.NaiveDateTime.Parse.iso8601
date.day
我开始学习 Elixir - Phoenix,来自 Rails,我很喜欢它。 我对从 Ecto 获得的日期有疑问:我只需要显示自动生成的日期 inserted_at。我也尝试使用 Timex 和 timex_ecto 插件来实现这一点,但现在运气不好。
您可以对 Ecto.DateTime.to_erl/1:
的结果进行模式匹配iex(4)> {{_, _, day}, _} = Ecto.DateTime.to_erl(date)
{{2016, 1, 5}, {16, 49, 19}}
iex(5)> day
5
如果您想使用 timex,一旦您得到 erlang 日期时间格式 ({{y, m, d}, {h, m, s}}
) 的结果,您就可以使用 Timex.Date.from/1
我通常使用日历依赖(添加到混合文件)然后 给定数据库中的日期,例如 date_from_db="2016-01-08T00:14:49" 您可以执行以下操作:
{:ok, date, _} = date_from_db |> Calendar.NaiveDateTime.Parse.iso8601
date.day