Mysql RubyonRails4:使用wice_网格过滤指定时区中的datetime字段时出现意外结果
时区设置为GMT+1100到Mysql RubyonRails4:使用wice_网格过滤指定时区中的datetime字段时出现意外结果,mysql,ruby-on-rails-4,timezone,wice-grid,Mysql,Ruby On Rails 4,Timezone,Wice Grid,时区设置为GMT+1100到 config.time_zone = 'Australia/Sydney' 日期辅助对象由设置为日历 Wice::Defaults::HELPER_STYLE = :calendar 当我通过将开始日期输入到“2014-10-21”和结束日期输入到“2014-10-21”来过滤datetime字段“created_at”时,预期的查询应该是 where created_at >= '2014-10-20 13:00:00' and created_at
config.time_zone = 'Australia/Sydney'
日期辅助对象由设置为日历
Wice::Defaults::HELPER_STYLE = :calendar
当我通过将开始日期输入到“2014-10-21”和结束日期输入到“2014-10-21”来过滤datetime字段“created_at”时,预期的查询应该是
where created_at >= '2014-10-20 13:00:00' and created_at < '2014-10-21 13:00:00'
其中创建时间>='2014-10-20 13:00:00'和创建时间<'2014-10-21 13:00:00'
但实际上生成的sql是
where created_at >= '2014-10-21' and created_at < '2014-10-22'
其中创建时间>='2014-10-21'和创建时间<'2014-10-22'
在查看源代码之后,我在文件'lib/wice/columns/column_datetime.rb'的第112行中找到了以下代码
conditions << opts[:fr].to_date
条件有意见吗?我很长时间都不知道这件事