【问题标题】:How to get tomorrows datetime with Ecto?如何使用 Ecto 获取明天的日期时间?
【发布时间】:2017-07-20 09:58:18
【问题描述】:

我可以像这样使用 Ecto 获取当前日期时间:

Ecto.DateTime.utc

但是我怎样才能得到明天的日期

Ecto.DateTime.utc + timedelta 1 day

?

【问题讨论】:

标签: elixir ecto


【解决方案1】:
Timex.shift(Timex.now, days: 1)

https://github.com/bitwalker/timex

【讨论】:

    【解决方案2】:

    这个答案怎么样?

    Ecto.DateTime.utc 
    |> Ecto.DateTime.to_erl 
    |> :calendar.datetime_to_gregorian_seconds 
    |> Kernel.+(86400) 
    |> :calendar.gregorian_seconds_to_datetime 
    |> Ecto.DateTime.from_erl
    

    【讨论】:

      【解决方案3】:
      iex(3)> t = DateTime.utc_now()
      #DateTime<2018-07-17 08:22:11.472192Z>
      iex(4)> n = %{t | day: t.day + 1}
      #DateTime<2018-07-18 08:22:11.472192Z>
      iex(5)> n
      #DateTime<2018-07-18 08:22:11.472192Z>
      iex(6)> m = %{t | day: t.day - 1}
      #DateTime<2018-07-16 08:22:11.472192Z>
      iex(7)> m
      #DateTime<2018-07-16 08:22:11.472192Z>
      

      【讨论】:

        猜你喜欢
        • 2012-01-02
        • 2011-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 2014-02-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多