Elixir / Phoenix时间戳本地

时间:2016-06-21 08:09:09

标签: elixir phoenix-framework elixir-framework

我有几个架构(Ecto.Schema) 并为inserted_at,updated_at字段使用 timestamps 。但它默认为Ecto.DateTime并以UTC格式节省时间。是否可以使用本地时间而不是UTC?我已经检查了Ecto.Schema但似乎找不到将其默认为本地时间的方法,而不是UTC。示例:

schema "orders" do

field :number_of_customers, :integer
field :completed, :boolean, default: false

timestamps
end

谢谢!

1 个答案:

答案 0 :(得分:1)

根据the docs,您可以使用timestamps几乎完成任何操作。

使用选项,您可以指定:type,或者您甚至可以注册将使用:autogenerate生成的自定义函数。

但是我会将时间戳保留为UTC,因为这是一种标准方式。奇怪的是它不适合你。呼叫Ecto.DateTime.utc只需从操作系统获取正确的时区信息,并以UTC显示正确的时间。如果不是这样,那么您的操作系统可能有不正确的时区?