如何获得代表当前时间的 Ecto.DateTime 值?

How can I get an Ecto.DateTime value representing the current time?

我想得到一个代表当前时间的 Ecto.DateTime 值。

我该怎么做?

使用DateTime.utc_nowcast它。

{:ok, datetime} = DateTime.utc_now |> Ecto.DateTime.cast

虽然 DateTime.utc_now |> Ecto.DateTime.cast 有效,但 Ecto.DateTime.utc

有更简单的方法

基本相同,但默认精度不同:

iex(30)> DateTime.utc_now |> Ecto.DateTime.cast
{:ok, #Ecto.DateTime<2016-09-27 19:55:38.542000>}

iex(31)> Ecto.DateTime.utc
#Ecto.DateTime<2016-09-27 19:55:45>

iex(32)> Ecto.DateTime.utc(:usec)
#Ecto.DateTime<2016-09-27 19:55:48.162000>