¿Cómo crear un nuevo objeto DateTime en una zona horaria específica (preferiblemente la zona horaria predeterminada de mi aplicación, no UTC)?
He puesto la zona horaria en/config/application.rb
, y espero que todos los tiempos generados en mi aplicación estén en esta zona horaria de manera predeterminada, pero cuando creo un nuevoDateTime
objeto (usando.new
), lo crea enGMT
. ¿Cómo puedo hacer que esté en la zona horaria de mi aplicación?
/config/application.rb
config.time_zone = 'Pacific Time (US & Canada)'
irb
irb> DateTime.now
=> Wed, 11 Jul 2012 19:04:56 -0700
irb> mydate = DateTime.new(2012, 07, 11, 20, 10, 0)
=> Wed, 11 Jul 2012 20:10:00 +0000 # GMT, but I want PDT
Utilizandoin_time_zone
no funciona porque eso solo convierte el tiempo GMT al tiempo PDT, que es el momento equivocado:
irb> mydate.in_time_zone('Pacific Time (US & Canada)')
=> Wed, 11 Jul 2012 13:10:00 PDT -07:00 # wrong time (I want 20:10)