Get the beginning of the hour and the end of the hour

C

Chris Gunnels

I would like to Get the beginning of the current hour and the end of the
current hour in the regular time format Wed Sep 15 15:45:47 -0600 2010

I would like to get Wed Sep 15 15:00:00 -0600 2010 and Wed Sep 15
15:59:59 -0600 2010

I have tried a few things and have search google for
Time.now.beginning_of_hour and Time.now.end_of_hour, but no luck

Any ideas?

Thanks
 
J

Jeremy Bopp

I would like to Get the beginning of the current hour and the end of the
current hour in the regular time format Wed Sep 15 15:45:47 -0600 2010

I would like to get Wed Sep 15 15:00:00 -0600 2010 and Wed Sep 15
15:59:59 -0600 2010

I have tried a few things and have search google for
Time.now.beginning_of_hour and Time.now.end_of_hour, but no luck

Here's a quickie for the beginning of the current hour:

Time.at(Time.now.to_i / 3600 * 3600)

and for the end of the current hour:

Time.at(Time.now.to_i / 3600 * 3600 + 59 * 60 + 59)

You can simplify that last one a bit, but it's a little more obvious
what's going on this way.

-Jeremy
 
X

Xeno Campanoli / Eskimo North and Gmail

I would like to Get the beginning of the current hour and the end of the
current hour in the regular time format Wed Sep 15 15:45:47 -0600 2010

I would like to get Wed Sep 15 15:00:00 -0600 2010 and Wed Sep 15
15:59:59 -0600 2010

I have tried a few things and have search google for
Time.now.beginning_of_hour and Time.now.end_of_hour, but no luck

Any ideas?

Thanks

Time.local instantiation method?

t = Time.now
bt = Time.local(t.year,t.mon,t.day,t.hour,0,0)
et = Time.local(t.year,t.mon,t.day.d.hour,59,0)

xc
 
C

Chris Gunnels

Xeno said:
Time.local instantiation method?

t = Time.now
bt = Time.local(t.year,t.mon,t.day,t.hour,0,0)
et = Time.local(t.year,t.mon,t.day.d.hour,59,0)

xc

awesome...thats what I wanted
 
R

Robert Klemme

awesome...thats what I wanted

Not so fast! Is this really the end? Which hour does
Time.local(t.year,t.mon,t.day.d.hour,59,17) belong to?

I would probably rather do

et = Time.local(t.year,t.mon,t.day.d.hour + 1,0,0)

and treat the hour as half open interval (i.e. beginning is included,
end is excluded). Note that Time also has #usec!

Kind regards

robert
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top