Skip to content

Instantly share code, notes, and snippets.

@rafaelcgo
Created September 2, 2015 22:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafaelcgo/15205a31416eae17f255 to your computer and use it in GitHub Desktop.
Save rafaelcgo/15205a31416eae17f255 to your computer and use it in GitHub Desktop.
postgresql_timezones.rb
User.find(885).created_at
"Sun, 31 Aug 2014 22:10:54 BRT -03:00"
User.select('created_at as created_at').where(id: 885)
[#<User id: nil, created_at: "2014-09-01 01:10:54">]
User.select('date(created_at) as created_at').where(id: 885)
[#<User id: nil, created_at: "2014-09-01">]
!!!!!!!!! NÃO! haha. Era pro date ser 2014-08-31. !!!!!!!!!!!
User.select('created_at AT TIME ZONE \'America/Sao_Paulo\' as created_at').where(id: 885)
[#<User id: nil, created_at: "2014-09-01 04:10:54">]
@rafaelcgo
Copy link
Author

Solução:

User.select("date(created_at AT TIME ZONE \'UTC\' AT TIME ZONE \'#{Time.zone.tzinfo.identifier}\') as created_at").where(id: 885)
[#<User id: nil, created_at: "2014-08-31">]

Time.zone.tzinfo.identifier => 'America/Sao_Paulo'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment