Ruby Time包含日期的内容是什么?

时间:2012-01-27 21:06:08

标签: ruby time

我喜欢红宝石的魔力,但每隔一段时间你就会遇到一些看起来很简单的东西。 这是我的问题:

我使用MySQL的时间列类型将值存储在我的数据库中。 这个商店只是hh:mm:ss值。

稍后进行比较时,Ruby将获取此值并将2001-01-01 hh:mm:ss UTC追加到它。 (下面的Record1取自我的数据库,是一个ActiveRecord对象,从一个恰好使用MYSQL的Time函数存储时间属性的集合中获得)

所以我觉得有用的比较的唯一选择是使用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 >

1 个答案:

答案 0 :(得分:1)

  

所以似乎我唯一的选择就是使用有用的比较   STRFTIME?是吗?

那,或者你可以做类似

的事情
timestring = "#{@time_obj1.hour}:#{@time_obj1.min}:#{@time_obj1.sec}"

但是strftime只是少了很多字符,而且是实现你所追求目标的更标准方法。