所以在红宝石中你可以做Time.now + 10.hours ......
没有相当于秒和分钟?例如,Time.now + 15.mins。
答案 0 :(得分:122)
Ruby(编程语言)没有10.hours
,那是ActiveSupport
作为Ruby on Rails(Web框架)的一部分。是的,它确实有minutes
和seconds
方法。
但是,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