我搜索了Ecto.DateTime,但遗憾的是没有找到任何有用的东西。有没有办法让这个月的最后一天?
我有一个查询,我从psql加载订单,从昨天(7月31日)到今天(8月1日),今天我只使用1,但对于昨天它可以是31 ,30,29或28.有没有办法知道上个月有多少天?
提前致谢,任何建议都表示赞赏!
答案 0 :(得分:4)
其中:calendar.last_day_of_the_month/2
接受一年和一月作为参数。
iex(1)> :calendar.last_day_of_the_month(2000, 2)
29
iex(2)> :calendar.last_day_of_the_month(2001, 2)
28
last_day_of_the_month(年,月) - > LASTDAY 强>
类型:
Year = year() Month = month() LastDay = ldom()
计算一个月内的天数。
答案 1 :(得分:0)
您可以在Elixir的days_in_month/2
实现中使用Calendar.ISO
函数:
Calendar.ISO.days_in_month(year, month)
例如,Calendar.ISO.days_in_month(2019, 7)
将返回31
。
您可以在以下文档中找到更多信息:https://hexdocs.pm/elixir/Calendar.ISO.html#days_in_month/2