无法从Ecto.Date获得月初
Ecto.Date.utc => #Ecto.Date<2017-09-15>
Ecto.Date.utc.beginning_of_month requires => 2017-09-01
答案 0 :(得分:3)
您只需使用地图更新语法将day
的值设置为1
:
iex(1)> today = Ecto.Date.utc
#Ecto.Date<2017-09-15>
iex(2)> %{today | day: 1}
#Ecto.Date<2017-09-01>
最新的Ecto中不推荐使用 Ecto.Date
,因此如果您迁移到Elixir核心的新Date
结构,相同的技术也适用于它:
iex(3)> today = Date.utc_today
~D[2017-09-15]
iex(4)> %{today | day: 1}
~D[2017-09-01]