Rails: get #beginning_of_day in time zone

Bogdan Gusiev picture Bogdan Gusiev · Mar 24, 2011 · Viewed 31.6k times · Source

I have a default time zone setup for the rails application. And an instance of the Date object.

How can I get make Date#beginning_of_day to return the beginning of the day in the specified time zone, but not my local timezone.

Is there any other method to get beginning of the day time in the specified timezone for the given date?

date = Date.new(2014,10,29)

zone = ActiveSupport::TimeZone.new('CET')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 CET +01:00"

zone = ActiveSupport::TimeZone.new('UTC')
date.foo(zone) # should return "Wed, 29 Oct 2014 00:00:00 UTC +00:00"

Answer

Peder picture Peder · Sep 21, 2011
DateTime.now.in_time_zone(Time.zone).beginning_of_day