Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add minutes to a Time object

In Ruby, how do I do Time.now + 10.hours?

Is there an equivalent for secs and mins? For example:

Time.now + 15.mins 
like image 429
keruilin Avatar asked Aug 04 '11 04:08

keruilin


1 Answers

Ruby (the programming language) doesn't have 10.hours, that's ActiveSupport as part of Ruby on Rails (the web framework). And yes, it does have both minutes and seconds methods.

However, Time#+ (the + method on Time instances) returns a new Time instance that is that many seconds in the future. So without any Ruby on Rails sugar, you can simply do:

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 
like image 116
Phrogz Avatar answered Sep 28 '22 04:09

Phrogz