Alex Rivera | Logout

Rails 3: How to get today's date in specific timezone?

Asked 2011-05-19T14:43:30.040
89

To get today's date I do:

Date.today    # => Fri, 20 May 2011

I would like to get today's date in a specific timezone, say 'Melbourne'.

I have the following setting in my application.rb:

config.time_zone = 'Melbourne'

and I set:

Time.zone = 'Melbourne'

in my application controller before each action.

However, it doesn't help (I guess because these settings affects only dates that are stored in the database).

How could I get today's date in 'Melbourne' ?

Edit
Report

1 Answer

86

Date objects don't necessarily have timezones, but Time objects do. You can try it as a Time, then convert back to a Date:

Time.now.to_date
# => Thu, 19 May 2011 
Time.now.in_time_zone('Melbourne').to_date
# => Fri, 20 May 2011 
answered 2011-05-19T14:48:26.683

Your Answer