Elixir和Ecto中的DateTime.now

时间:2016-09-05 13:28:31

标签: elixir phoenix-framework ecto

我希望在没有第三方库的情况下获取Phoenix / Elixir的当前日期时间戳。或者简单地说,我想要DateTime.now()之类的东西。我怎么能这样做?

2 个答案:

答案 0 :(得分:16)

Ecto有Ecto.DateTime.utc/1来获取UTC的当前时间:

iex(1)> Ecto.DateTime.utc
#Ecto.DateTime<2016-09-05 13:30:04>
iex(2)> Ecto.DateTime.utc(:usec) # include microseconds
#Ecto.DateTime<2016-09-05 13:30:18.367318>

如果您想在本地系统的时区中使用当前时间,可以执行以下操作:

Ecto.DateTime.from_erl(:erlang.localtime)

答案 1 :(得分:3)

自{ec} 3起,Ecto.DateEcto.TimeEcto.DateTime不再存在,如here.

但是,Elixir现在附带DateTimeDateNaiveDateTime,应该使用。

iex(1)> DateTime.utc_now
#DateTime<2019-01-14 12:05:52.271492Z>