Wie konvertiere ich in Ruby / Rails eine UTC DateTime in eine andere Zeitzone?
ruby-on-rails
ruby
datetime
runtime
Drew Johnson
quelle
quelle
require 'active_support/time'
zuerst.rake time:zones:all
. Siehe auchrake -D time
. Legen Sie die Standardzeitzone in festconfig/application.rb
.Wenn
Time.zone
es Ihre gewünschte Zeitzone ist, können Sie verwenden@date.to_time.to_datetime
quelle
require 'date'
Verwenden Sie in reinem Rubin nur mitnew_offset
:Getestet mit Ruby 2.3.7, das unter Mac OS X 10.13 Standard war.
quelle
Probieren Sie die TimeWithZone- Objekte von ActiveSupport aus , die mit TimeZone bearbeitet wurden . ActiveSupport bietet auch die Methode in_time_zone zum Konvertieren einer UTC-Zeit in eine angegebene TimeZone-Zeitzone. Die Antwort von mckeed zeigt den Code.
quelle
Nur für den Fall, dass Sie mit ActiveRecord-Objekten in Rails arbeiten.
Es ist möglicherweise eine gute Idee,
Time.use_zone
eine Zeitzone pro Anforderung zu verwenden, die die eingestellte Standardzeitzone überschreibtconfig.time_zone
Weitere Details erkläre ich unter https://stackoverflow.com/a/25055692/542995
quelle
Ich verwende simple_form in Rails 4 und habe gerade das Eingabefeld als hinzugefügt
mit der Migration
quelle