2017-10-26 1 views
0

:naive_datetimeの方が推奨されていないようです。可能な最も正確な表現でタイムスタンプを保存したいのですが、:naive_datetimeが私に提供するものを見つけることができません。私が言うことから、Ecto.DateTimeはISO8601に変換可能ですが、データベースにはnaive datetimeがどのように格納されているかは示されていません。私は他の可能なオプションのリストを見つけることができませんでしたEctoタイムスタンプでISO8601の日付を使用する

schema "test" do 
    field :name 
    timestamps type: :iso8601 # This doesn't work 
end 

はそうのようなタイムスタンプを作成する際に指定することが、他の可能なオプションです。私は素朴な日時計に執着していますか?

答えて

0

NaiveDateTimeの何が問題になっていますか?時間はどのようにしてとなるでしょうか?は正確ですか?サーバーが"Etc/UTC"で実行されていることを確認してください。すべて設定されています。

iso8601はあなたが誤解しているように聞こえますが、それは単なる文字列です。また、NaiveDateTimeISO8601表現かもしれません常にNaiveDateTime.to_iso8601/2 1を使用して:

NaiveDateTime.utc_now |> NaiveDateTime.to_iso8601 
#⇒ "2017-10-27T05:15:42.355701" 

は用語を恐れてはいけません。この文脈では、それは「それはタイムゾーンを格納しません。」を意味していない以上何も「ナイーブ」。

+0

正直言って私はちょうどナイーブな日時が何であるか分かりません。答えに指定できる場合、そのようにサーバーを設定する方法については、先に進んでこれをチェックします。私は何かを欠いていると確信しています。参考までに私はいくつかの時間に敏感なデータを扱っているので、数秒の違いが私には大きな問題です。 – rec

+0

「答えに指定する」とはどういう意味ですか?あなたは "ナイーブ"という言葉を恐れていますか?これは**ナノ秒**精度のシステムクロックです。 – mudasobwa

+0

ええ、私は正確に日時の文脈で "ナイーブ"が意味するものを理解していません、残念です。 – rec

関連する問題