Ruby on rails Rails存储的日期时间与预期的不同;影响查询

Ruby on rails Rails存储的日期时间与预期的不同;影响查询,ruby-on-rails,datetime,Ruby On Rails,Datetime,我将日期时间存储在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(

我将日期时间存储在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)
日期可能需要转换为存储在数据库中的同一时区


如何解决此问题?

使用
时区可以解决存储和显示日期和时间时的许多时区问题

也就是说,DateTime类中有一个
change
方法,您可以手动设置对象的时区


我发现这些文章对mysql而不是sqlite特别有帮助,但可能是相关的,谢谢,这些文章真的很有帮助。tl;dr:
时区解析('2013-01-30')