У меня есть 2 столбца в таблице в моей базе данных, 1 - дата и 1 - время. Мне нужно использовать ActiveRecord, чтобы объединить их в объект DateTime. Каков наилучший способ?Объединение даты и времени ActiveRecord в DateTime
1.9.3-p194 :053 > date.class
=> Date
1.9.3-p194 :054 > time.class
=> Time
1.9.3-p194 :055 > date.to_time_in_current_zone
=> Wed, 04 Sep 2013 00:00:00 PDT -07:00
1.9.3-p194 :056 > date.to_time_in_current_zone + time
TypeError: not an integer
Я могу добавить отдельные поля времени, и это, кажется, работает:
1.9.3-p194 :062 > date.to_time_in_current_zone + time.hour.hours + time.min.minutes + time.sec.seconds
=> Wed, 04 Sep 2013 12:30:00 PDT -07:00
Это не включает миллисекунды, делает Time
не миллисекунды? Не конец света, если у меня не будет миллисекунд, но есть ли лучший способ сделать это?
Нравится? http://stackoverflow.com/questions/12181444/ruby-combine-date-and-time-objects-into-a-datetime – Luke
@ Luke - похоже, хотя мой вопрос касается Rails «Дата» и «Время». Я бы подумал, что у Rails будет механизм поддержки этого, если Ruby этого не сделает. –
Быстрое прочтение документов Rails, похоже, предполагает, что это не так (http://api.rubyonrails.org/classes/DateTime.html, http://api.rubyonrails.org/classes/Date.html, http: //api.rubyonrails.org/classes/Time.html). – Luke