2016-10-25 13 views
3

これは私がこれを尋ねなければならない冗談ですが、何が最善の方法であるかは本当に明確ではありません。だからこれは少し暴言に変わるかもしれません。しかし、私はエリクサーがここで真剣に欠けているという想いがあります。エリクサー:エクトクエリーの現在の日付を取得するには?

現在の日付をEctoで照会するのは非常に複雑です。例えば、get me every record where date column x contains a date before tのようなものです。

現在のところ、Erlangs :calendar.universal_time()を使用しています。Ecto.DateTime.from_erlに、そしてEcto.Date.castに再度渡します。我々はまた、パターン実際の日付と一致する必要が

date = :calendar.universal_time() |> Ecto.DateTime.from_erl |> Ecto.Date.cast 

注意、我々は戻ってタプル

{:ok, #Ecto.Date<2016-10-25>} 

を取得するので、だから、私はEcto.Date.cast!を使用しますが、ことができもちろん

{:ok, date} = :calendar.universal_time() |> Ecto.DateTime.from_erl |> Ecto.Date.cast 

ですもう一度あなたが見つけなければならないことであり、私が気付いていないいくつかの欠点があります。

次に、クエリを作成できます。しかし、毎回最低3つの機能を呼び出す必要があります...

私は行方不明の方が良いですか?

+0

はあなたのためではない 'Ecto.Date.utc/0 'の仕事をしていますか? - https://hexdocs.pm/ecto/Ecto.Date.html#utc/0 –

+1

Hah。それは私が探していたものだった...ありがとう。 –

答えて

関連する問題