Browsing through Ecto.DateTime,似乎已弃用:naive_datetime
。我希望以最准确的方式存储时间戳,而我似乎无法找到:naive_datetime
为我提供的内容。据我所知,Ecto.DateTime
可转换为ISO8601,但它没有说明天真日期时间如何存储在数据库中。
在创建时间戳时是否还有其他可能的选项来指定:
schema "test" do
field :name
timestamps type: :iso8601 # This doesn't work
end
我还没有找到其他可能的选项列表。我是否坚持天真的约会时间?
答案 0 :(得分:2)
NaiveDateTime
出了什么问题?时间如何更多准确?只需确保您的服务器在"Etc/UTC"
中运行,即可完成设置。
听起来你误解了iso8601
是什么:它只是一个字符串表示。此外,使用NaiveDateTime.to_iso8601/2
总是可能会ISO8601
代表NaiveDateTime
:
NaiveDateTime.utc_now |> NaiveDateTime.to_iso8601
#⇒ "2017-10-27T05:15:42.355701"
不要害怕“幼稚”一词。在这种情况下,它意味着“它不存储时区。”仅此而已。