0

我将 DateTimes 存储在 SQLite 数据库中。我在 Rails 配置中设置了时区。日期显示正确,但存储为完全不同的数字。我假设它与时区不可知的日期一起存储,如 UTC 或类似的东西。但是,当我按日期查询时,这会影响返回的结果。

day = DateTime.new(params[:year].to_i, params[:month].to_i, params[:day].to_i)
where(start: (day.to_time...day.end_of_day.to_time)).order(:start)

日期可能需要转换为存储在数据库中的相同时区。

我该如何解决这个问题?

4

1 回答 1

0

在存储和显示日期和时间时,使用Time.zone可以解决很多时区问题。

话虽如此,change在 DateTime 类中有一个方法可以手动设置对象的时区

我发现这两篇 文章特别有用

于 2013-06-30T01:13:04.817 回答