Я люблю магию рубина, но время от времени вы сталкиваетесь с чем-то, что кажется легким делом.Вот моя проблема:
Я храню значение как Время в моей БД, используя тип столбца времени MySQL.В этом хранилище хранятся только значения чч: мм: сс.
Позже при выполнении сравнения Ruby получит это значение и добавит к нему 2001-01-01 чч: мм: сс UTC.(Приведенная ниже запись 1 была взята из моей БД и является объектом ActiveRecord, полученным из коллекции, в которой, как оказалось, хранится атрибут времени с использованием функции времени MYSQL)
Так что, похоже, мой единственный вариант для полезных сравнений - использовать strftime?Это верно?
(ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0])
ruby-1.9.2-p290 :009 > record1.time
=> 2000-01-01 08:30:00 UTC
ruby-1.9.2-p290 :001 > time1 = "08:30:00"
=> "08:30:00"
ruby-1.9.2-p290 :002 > @time_obj1 = Time.parse time1
=> 2012-01-27 08:30:00 -0700
ruby-1.9.2-p290 :003 > @time_obj1.to_s
=> "2012-01-27 08:30:00 -0700"
ruby-1.9.2-p290 :004 >