2017-01-04 1 views
0

So arbeite ich an der Planung. Meine Zeitzone ist GMT + 0100 MEZ, und ich bin montags um 09:00 Uhr Ortszeit erreichbar.Beziehen Besucher Zeitzone

Allerdings möchte ich diese Zeit angepasst werden, damit der Benutzer es in ihrer Zeit sieht. Das bedeutet, es könnte die Zeit ändern, aber auch den Tag. ZB wenn sie GMT -10: 00 Hawaii sind.

Gibt es eine Möglichkeit für mich, eine Besucher-Zeitzone über die Steuerung zu erhalten und zeigen dann die Zeit mit:

@datetime_given.in_time_zone(visitors_time_zone)

Oder sollte dies völlig in einer anderen Art und Weise getan werden?

+1

Ich würde vorschlagen, einen Ansatz mit Javascript und tun es Client-Seite vorausgesetzt, Sie haben nichts gespeichert auf dem Besucher –

+0

Es ist wahrscheinlich im Allgemeinen besser, den Benutzer fragen, was ihre Zeitzone ist. Ein Benutzer kann Zeitzonen verschieben oder auf irgendeine Weise manipulieren. –

Antwort

0

Es hängt von der Einrichtung Ihrer App ab. Sie können gem 'momentjs-rails' verwenden, um die Zeitzone für anonyme Benutzer zu ändern. Nehmen wir an, Sie möchten die Zeit in der lokalen Zeitzone der Besucher anzeigen und möchten nicht, dass sie sich auf Ihrer Website anmelden oder anmelden. Zum Beispiel ist Ihr Server in der Region Europa. In Ihre Ansichten analysiert Zeit und DateTime.parse() zeigen nur montags (Zurück/Strom Montag bis nächsten kommt):

<h1>My schedule:</h1> 
<div class="timestring"> 
    I'm available on Mondays 9 AM my local time.<br> 
    Converted in your local timezone: <span class="time"><%= DateTime.parse("Mon 09:00 +01") %></span> 
</div> 

Nach momentjs-rails gem Installation in application.js add erfordern Moment Bibliothek und das Format Datetime Besucher Zeitzone:

//= require moment 

    $(document).ready(function() { 
    var format = 'LL hA'; 
    $('.time').each(function() { 
     this.textContent = moment(this.textContent).format(format); 
    }); 
}); 

Dieser Code oben ist trivial und es works. Versuchen Sie, die Datums- und Uhrzeiteinstellungen Ihres Computers auf Hawaii zu ändern, und das Datum & Zeitzone spiegelt Änderungen wider. Auch hier kommt es auf Ihre Setup- und App-Logik an. Möchten Sie mit der Zeitzone mit registrierten Benutzern arbeiten?