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

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

On 9/15/2010 4:47 PM, Chris G. wrote:

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

On 10-09-15 02:47 PM, Chris G. wrote:

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

On Thu, Sep 16, 2010 at 2:03 AM, Chris G. [email protected] wrote:

xc

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

Xeno C. / Eskimo North and Gmail wrote:

On 10-09-15 02:47 PM, Chris G. wrote:

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

awesome…thats what I wanted