サードパーティのライブラリを使用せずに、Phoenix/Elixirで現在の日時スタンプを取得したい。または、単にDateTime.now()
のようなものが必要です。どうやってやるの?
エクトは 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)
Ecto 3の時点で、Ecto.Date
、Ecto.Time
およびEcto.DateTime
記載されているように、もはや存在しません ここに。
ただし、Elixirには DateTime 、 Date 、および NaiveDateTime が付属しており、これらを使用する必要があります。
iex(1)> DateTime.utc_now
#DateTime<2019-01-14 12:05:52.271492Z>