我有一个像这样创建的日期时间:
Ecto.DateTime.from_erl({{2015, 3, 10}, {0, 0, 0}})
这是凤凰应用程序。我想在没有任何额外的第三方库的情况下添加天数。怎么样?
答案 0 :(得分:6)
您可以使用erlang的:calendar
模块来操作日期而无需其他依赖项。
添加天数的标准方法是使用:calendar.date_to_gregorian_days/1
执行添加并使用:calendar.gregorian_days_to_date/1
转换回元组格式。
答案 1 :(得分:1)
正确的灵药语法
weekday= :calendar.gregorian_days_to_date(:calendar.date_to_gregorian_days({2011, 7, 14}) - 90)
IO.inspect weekday
{2011, 4, 15}
答案 2 :(得分:1)
表示日期时间 假设no_of_days是你想要添加的天数。
{{a,b,c},{hh,mm,ss}} = :calendar.universal_time()
{x,y,z} = :calendar.gregorian_days_to_date(:calendar.date_to_gregorian_days({a,b,c}) +no_of_days)
time = Ecto.DateTime.from_erl({{x,y,z},{hh,mm,ss}})
答案 3 :(得分:0)
从Elixir 1.5.0起,您可以使用DateTime.add/2
在日期中添加天数。
# add five days to the current day
DateTime.utc_now |> Date.add(5)