Em Ruby / Rails, como faço para converter um DateTime UTC para outro fuso horário?
ruby-on-rails
ruby
datetime
runtime
Drew Johnson
fonte
fonte
require 'active_support/time'
primeiro.rake time:zones:all
. Veja tambémrake -D time
. Defina o fuso horário padrão emconfig/application.rb
.se
Time.zone
for o fuso horário desejado, você pode usar@date.to_time.to_datetime
fonte
Em rubi puro, com apenas
require 'date'
, use onew_offset
método:Testado com ruby 2.3.7 que veio como padrão no Mac OS X 10.13.
fonte
Experimente objetos TimeWithZone do ActiveSupport manipulados com TimeZone. ActiveSupport também fornece o método in_time_zone para converter um horário UTC em um fuso horário especificado. A resposta de mckeed mostra o código.
fonte
Apenas no caso, se você está lidando com o objeto ActiveRecord no Rails.
Pode ser uma boa ideia usar
Time.use_zone
um fuso horário por solicitação que substitua o fuso horário padrão definido emconfig.time_zone
Mais detalhes eu explico em https://stackoverflow.com/a/25055692/542995
fonte
Estou usando o simple_form no Rails 4 e acabei de adicionar o campo de entrada como
com a migração
fonte