【发布时间】:2011-02-20 07:40:17
【问题描述】:
我的一个模型中有一个包含日期/时间值的属性,并且在我的迁移中使用t.datetime :ended_on 声明。
当我使用myevent.ended_on 获取这个值时,我得到一个Time 对象。问题是当我尝试将此属性用作Flotilla 图表中的轴时,它无法正常工作,因为Flotilla 仅将日期识别为Date 或DateTime 对象。
我曾考虑编写一个虚拟属性,将现有的时间值转换为日期时间,但我对此持谨慎态度,因为我听说时间无法处理 2040 年以后的日期,而我不这样做'不想冒险制造“2040 年错误”以供以后担心。
有什么方法可以说服 ActiveRecord 为该属性返回 DateTime 对象而不是 Time 对象?
【问题讨论】:
-
如果您使用的是 64 位计算机,那么 2038 年之后的日期应该不会有问题。至少我可以创建远超过 2038 年的时间实例。
标签: ruby-on-rails datetime activerecord time