ich in meinem ApplicationRails, wie automatisch eine Zeit für den Benutzer Zeitzone konvertieren
around_filter :user_time_zone, :if => :current_user
def user_time_zone(&block)
Time.use_zone(current_user.time_zone, &block)
end
und der Server speichert die Zeiten, als UTC die Zeitzone für die Benutzer festlegen und created_at Felder erhalten entsprechend der aktualisierten Benutzerzeitzone Aber wenn ich eine Postgres Timerange verwenden, die Zeit in den Bereich Displays als UTC:
#<TimeEntry:0x007fb7c8701a20
id: "5556cb4f-862f-4f7d-bb30-743578ba5741",
time: 2016-05-03 21:02:28 UTC..2016-05-04 02:02:33 UTC,
created_at: Tue, 03 May 2016 16:32:33 VET -04:30,
updated_at: Tue, 03 May 2016 16:32:52 VET -04:30>
Ich baue die Timerange wie folgt aus:
def self.build_timerange(start_time_ms, end_time_ms)
start_time = Time.zone.at(start_time_ms.to_f/1000)
end_time = Time.zone.at(end_time_ms.to_f/1000)
start_time..end_time
end
Ich brauche sie von der bekommen Browser als ms.
Ich möchte die time
Bereich auf die aktuelle Anfrage Zeitzone (der Benutzer Zeitzone) aktualisieren, ist es möglich?
Ich habe lokale Zeit benutze zu mit solchen Dingen umgehen. https://github.com/basecamp/local_time Alles wird in UTC in der Datenbank gespeichert und dann wandle ich alles, was der Benutzer in UTC eingibt, mit JavaScript, wenn sie einen Bereich auswählen. Ich kann meinen Code posten, wenn Sie denken, dass er hilfreich wäre. Es ist nicht die genaue Lösung für Ihr Problem obwohl – Doon
Interessant, obwohl ich einen serverseitigen Ansatz verwenden, weil Benutzer ihre Zeitzone ändern können –