在elixir中是否有像DaysInMonth这样的东西?

时间:2016-07-31 16:51:41

标签: datetime elixir phoenix-framework ecto

我搜索了Ecto.DateTime,但遗憾的是没有找到任何有用的东西。有没有办法让这个月的最后一天?

我有一个查询,我从psql加载订单,从昨天(7月31日)到今天(8月1日),今天我只使用1,但对于昨天它可以是31 ,30,29或28.有没有办法知道上个月有多少天?

提前致谢,任何建议都表示赞赏!

2 个答案:

答案 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