En Ruby / Rails, ¿cómo convierto una fecha y hora UTC a otra zona horaria?
ruby-on-rails
ruby
datetime
runtime
Drew Johnson
fuente
fuente

require 'active_support/time'primero.rake time:zones:all. También vearake -D time. Establezca la zona horaria predeterminada enconfig/application.rb.si
Time.zonees su zona horaria deseada, puede usar@date.to_time.to_datetimefuente
En rubí simple, con solo
require 'date', use elnew_offsetmétodo:Probado con ruby 2.3.7 que viene de serie en Mac OS X 10.13.
fuente
Pruebe los objetos TimeWithZone de ActiveSupport manipulados con TimeZone. ActiveSupport también proporciona el método in_time_zone para convertir una hora UTC en una zona horaria específica. La respuesta de mckeed muestra el código.
fuente
Por si acaso, si se trata de un objeto ActiveRecord en Rails.
Puede ser una buena idea utilizar
Time.use_zoneuna zona horaria por solicitud que anule la zona horaria predeterminada establecida enconfig.time_zoneMás detalles que explico en https://stackoverflow.com/a/25055692/542995
fuente
Estoy usando simple_form en Rails 4 y acabo de agregar el campo de entrada como
con la migración
fuente