Di Ruby / Rails, bagaimana cara mengonversi DateTime UTC ke zona waktu lain?
ruby-on-rails
ruby
datetime
runtime
Drew Johnson
sumber
sumber
require 'active_support/time'
pertama.rake time:zones:all
. Lihat jugarake -D time
. Setel zona waktu default diconfig/application.rb
.jika
Time.zone
itu zona waktu yang Anda inginkan maka Anda dapat menggunakan@date.to_time.to_datetime
sumber
Di ruby biasa, dengan hanya
require 'date'
, gunakannew_offset
metode:Diuji dengan ruby 2.3.7 yang menjadi standar pada Mac OS X 10.13.
sumber
Coba ActiveSupport ini TimeWithZone benda dimanipulasi dengan TimeZone. ActiveSupport juga menyediakan metode in_time_zone untuk mengonversi waktu UTC ke zona waktu TimeZone yang ditentukan. jawaban mckeed menunjukkan kodenya.
sumber
Untuk berjaga-jaga, jika Anda berurusan dengan objek ActiveRecord di Rails.
Sebaiknya gunakan
Time.use_zone
zona waktu berdasarkan permintaan yang menggantikan zona waktu default yang disetelconfig.time_zone
Lebih jelasnya saya jelaskan di https://stackoverflow.com/a/25055692/542995
sumber
Saya menggunakan simple_form di Rails 4 dan saya baru saja menambahkan kolom input sebagai
dengan migrasi
sumber