【发布时间】:2011-11-23 04:34:18
【问题描述】:
似乎 ActiveRecord 和 Ruby 的 Time 对象在超过 24:00 的时间上表现不佳。但是我的数据库有很多这样的,因为它们代表午夜之后的时间,但被认为是在同一天。这是我data provider的设计决定:
注意:跨越多个日期的行程的停留时间将大于 24:00:00。例如,如果行程从晚上 10:30:00 开始。并结束于 次日凌晨 2:15:00,停止时间为 22:30:00 和 26:15:00。将这些停止时间输入为 22:30:00 和 02:15:00 将 不会产生预期的结果。
如何停用我的 Time 对象的“验证”?我在 MySQL 查询中将时间字段写为 varchar 是 suggested,但我正在寻找一种不会让数据库干预的解决方案。
更新:关于保持 > 24:00 格式的相关性,使用该格式查询和 asc 排序所有 stop_times 以停止将返回如下内容:23:45、23:54、 24:35, 24:55, 25:15,这是下一辆公交车来的实际顺序。
反之则返回:0:35, 0:55, 1:15, 23:45, 23:54(这是错误的,前 3 个 stop_times 应该排在 之后 em> 最后 3)。
【问题讨论】:
标签: ruby-on-rails ruby datetime activerecord