0
を変換することができ:ない私の目標は、分単位で時間差を見つけることですEcto.DateTime.to_erl
{_, {_, aaa, _}} = Ecto.DateTime.to_erl(d1) |> :calendar.time_difference(:calendar.universal_time)
私は、PostgreSQLから取得したタイムスタンプを持っている:
iex(13)> d1
~N[2017-02-09 07:23:04.000000]
これまではうまく働きました:
d11 = Ecto.DateTime.to_erl(d1)
しかし、今、それは例外をスロー:
* (FunctionClauseError) no function clause matching in Ecto.DateTime.to_erl/1
(ecto) lib/ecto/date_time.ex:608: Ecto.DateTime.to_erl(~N[2017-02-09 07:23:04.000000])
これを修正するにはどうすればよいですか?
私は時間などの外部ライブラリを使用するつもりはありません。
わかりませんが、Naive形式で返されます。 – Kevin
私が心配する限り、RDBMSは**値を生成しません**、格納されたものを正確に返します。つまり、アプリケーションのどこかには、そこに純粋な価値が保存されています。原因を見つけることを強くお勧めします。そうしないと、長期的にはこの問題に間違いなく問題が生じるでしょう。 – mudasobwa
以前はミリ秒単位でデータベースにdatetimeを保存しましたが、ここでは "秒"部分の昏睡後6桁です。どういう考えがありますか? – Kevin