Adding times

Ok, I try to use ruby for all sorts on-the-fly things as
they come up so that I can practice & learn about it :slight_smile:

So, I’m looking up Ruby in a Nutshell, and amazon says
if I order in the next 10 hours and 40 minutes I can get
it soon.

“Cool” I think … “I can use Ruby to do the time math”,
and irb is my friend :slight_smile:

However, I can’t get it to work. This is what I tried:

irb(main):001:0> now=Time.now
=> Tue Oct 24 07:49:31 -0400 2006

irb(main):002:0> hours = 10
=> 10

irb(main):003:0> mins = 40
=> 40

irb(main):004:0> total_minutes = hours * 60 + mins
=> 640

irb(main):005:0> now
=> Tue Oct 24 07:49:31 -0400 2006

irb(main):006:0> now.min
=> 49

irb(main):007:0> now.min + total_minutes
=> 689

irb(main):008:0> now + total_minutes
=> Tue Oct 24 08:00:11 -0400 2006

irb(main):009:0> now
=> Tue Oct 24 07:49:31 -0400 2006

Is there an easy way to add specific hours and minutes to a
given time? I have a feeling this is easy to do, I just don’t
know how.

Thanks,
eb

irb(main):008:0> now + total_minutes

The argument for Time#+ is the seconds to add.

Kalman

Kalman N. wrote:

irb(main):008:0> now + total_minutes

The argument for Time#+ is the seconds to add.

Hi,

cool … so I was somewhat close. Multiplying my total_mins
by 60 to get seconds and then adding them seems to do the
trick!

Thanks Kalman,

eb

EB wrote:

Is there an easy way to add specific hours and minutes to a
given time? I have a feeling this is easy to do, I just don’t
know how.

I’m not sure I understand exactly what you’re trying to do, but
something like this:

class Fixnum
def minutes
self60
end
def hours
self
3600
end
end

Time.now + 7.minutes
x = Time.now
x += 13.hours + 17.minutes

Something like this can be found in Facets too.


Ola B. (http://ola-bini.blogspot.com)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http://www.ki.se)
OLogix Consulting (http://www.ologix.com)

“Yields falsehood when quined” yields falsehood when quined.

Ola B. wrote:

self60
end
def hours
self
3600
end
end

Time.now + 7.minutes
x = Time.now
x += 13.hours + 17.minutes

Nice! Thanks!

Something like this can be found in Facets too.

I had no idea about Ruby F.s, I just google for it, thanks for
mentioning it.

There is so much to learn, and such little time!! (love learning though)

eb

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs