-
-
Save blackavec/e28d2e053f130778f71948dcb355809e to your computer and use it in GitHub Desktop.
Rails timezone cheat sheet do's and don'ts, from http://www.elabs.se/blog/36-working-with-time-zones-in-ruby-on-rails
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2.hours.ago # => Fri, 02 Mar 2012 20:04:47 JST +09:00 | |
1.day.from_now # => Fri, 03 Mar 2012 22:04:47 JST +09:00 | |
Date.today.to_time_in_current_zone # => Fri, 02 Mar 2012 22:04:47 JST +09:00 | |
Date.current # => Fri, 02 Mar | |
Time.zone.parse("2012-03-02 16:05:37") # => Fri, 02 Mar 2012 16:05:37 JST +09:00 | |
Time.zone.now # => Fri, 02 Mar 2012 22:04:47 JST +09:00 | |
Time.current # Same thing but shorter. (Thank you Lukas Sarnacki pointing this out.) | |
Time.zone.today # If you really can't have a Time or DateTime for some reason | |
Time.zone.now.utc.iso8601 # When supliyng an API (you can actually skip .zone here, but I find it better to always use it, than miss it when it's needed) | |
Time.strptime(time_string, '%Y-%m-%dT%H:%M:%S%z').in_time_zone(Time.zone) # If you can't use Time#parse |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Time.now # => Returns system time and ignores your configured time zone. | |
Time.parse("2012-03-02 16:05:37") # => Will assume time string given is in the system's time zone. | |
Time.strptime(time_string, '%Y-%m-%dT%H:%M:%S%z') # Same problem as with Time#parse. | |
Date.today # This could be yesterday or tomorrow depending on the machine's time zone. | |
Date.today.to_time # => # Still not the configured time zone. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment