Rails获取带时区的DateTime的日期部分



我试图在rails 3中使用以下语法执行查询:CourseOrder.where("DATE(ordered_at) = ?", date)

我的问题是rails在UTC中保存所有时间,所以在我的时区(+2)0:33是4号,但在UTC是3号。是否有一种方法来查询DateTime与Timezone的日期部分?

不要用date,这样写:

time = DateTime.civil_from_format(:local, 2011, 4, 9)
CourseOrder.where("ordered_at > ? AND ordered_at < ?", time - 1.day, time)

你正在存储一个datetime,所以查询它而不是尝试使用date,它不考虑时区

通过改变比较值的方式解决了这个问题。

我有一个日期值,现在我将日期值与日期值进行比较,这比将日期值与datetime值进行比较要好,因为日期值必须失败。谢谢你指引我正确的方向

相关内容

  • 没有找到相关文章

最新更新