向Time对象添加分钟

时间:2011-08-04 04:31:48

标签: ruby-on-rails ruby time

所以在红宝石中你可以做Time.now + 10.hours ......

没有相当于秒和分钟?例如,Time.now + 15.mins。

5 个答案:

答案 0 :(得分:122)

Ruby(编程语言)没有10.hours,那是ActiveSupport作为Ruby on Rails(Web框架)的一部分。是的,它确实有minutesseconds方法。

但是,Time#+(Time实例上的+方法)返回一个新的Time实例,该实例将来会有很多秒。所以没有任何Ruby on Rails糖,你可以简单地做:

irb> t = Time.now
#=> 2011-08-03 22:35:01 -0600

irb> t2 = t + 10               # 10 Seconds
#=> 2011-08-03 22:35:11 -0600

irb> t3 = t + 10*60            # 10 minutes
#=> 2011-08-03 22:45:01 -0600

irb> t4 = t + 10*60*60         # 10 hours
#=> 2011-08-04 08:35:01 -0600

答案 1 :(得分:65)

如果您使用的是ActiveSupport,那么您需要的是完整的.minutes.seconds

Time.now + 10.minutes
Time.now + 10.seconds

答案 2 :(得分:16)

同样在ActiveSupport中,你可以这样做:

10.minutes.from_now

10.minutes.ago

答案 3 :(得分:1)

我认为你在谈论Rails添加的扩展。我认为你需要15.minutes

请参阅docs here

答案 4 :(得分:1)

时间对象

time = Time.now

向时间对象添加分钟:

time + 5.minutes