Wie man user timezone mit jquery?
Würde ich mag, um Ihre Zeitzone mit Namen wie "Asia/Calcutta' oder "Australia/Darwin'
Ich habe php installiert, auf myserver und seine Zeit gesetzt, um 'UTC'
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist mein Erster Beitrag hier aber ich hoffe mir kann jemand weiterhelfen. Ich fühlte mich verpflichtet, weil diese Seite mir sehr geholfen hat. Dank stackoverflow-Mitglieder!
http://www.pageloom.com/automatic-timezone-detection-with-javascript
Von dem, was ich verstehe, über diese JavaScript-code, es ist sehr präzise und wird in der Lage sein, um die Rückkehr der Abweichung von der UST, die entsprechenden Olson Datenbank-Zeitzone, name, und behandeln Sie das Sommerzeit-Problem (ex. -5:00, America/New_york, true).
http://www.php.net/manual/en/timezones.america.php
Der link oben ist nur eine Liste der php unterstützt timezone-Parameter, die soweit ich das sagen kann, richten Sie mit diesem JavaScript-code werden (ich bin sicher, dass vorteilhaft ist, ich weiß einfach nicht warum aber ich bin immer noch schreiben mein code, und ich bin ein bisschen neu, um php/mysql).
Die einzige Hürde, die Sie wird das Gesicht nach dem abrufen dieser funktionsfähigen code auf Ihrer html-Seite wird wahrscheinlich immer diese Werte an php und dann mysql, wenn es das ist, was Sie brauchen. Ich erreichte dies durch das senden dieser Werte als $.post mithilfe von JQuery. Ich denke, dies ist der einfachste Weg, es zu tun (bitte jemand korrigieren Sie mich, wenn ich falsch Liege). Ich glaube, die anderen alternativen sind die Verwendung eines AJAX-Befehls (komplizierter) oder cookies(denke ich?).
Nachdem ich die Werte aus dem Java-script-code auf dem server (PHP), die ich gespeichert Sie als session-Variablen so, Sie würde sich ändern, wenn der user auf meiner Seite angemeldet, die aus einer anderen Zeitzone als üblich. Aber Sie könnte leicht in der Datenbank gespeichert werden, wie gut.
Wenn Sie die JQuery-route muss im header des html-Dokuments, wo $.post ausgeführt wird.
Aktuelle timezonedetect-Skript gefunden werden kann, miteinander verknüpft, dass die erste url, die ich gepostet.
Die empfangende Datei, in diesem Fall tzdetect.php so sollte es Aussehen, wenn Sie möchten, dass die gespeicherten Daten als session-Variablen.
Für die Erkennung von timezone offset mit dieser Funktion können Sie:
Beispiel können Sie sehen, hier
Deine Frage ist wirklich über Javascript statt PHP -, denn es hängt von der client-Fähigkeiten.
Wie ich es verstehe, Javascript können Sie zum ermitteln der aktuellen Zeit-zone offset (Differenz zwischen UTC-Zeit und lokaler Zeit), aber das funktioniert nicht erlauben, Sie eindeutig zu bestimmen, die Zeit-zone. Viele Zeit Zonen teilen sich den gleichen offset an einem bestimmten Punkt in der Zeit, aber unterscheiden sich zu anderen Zeiten in Bezug auf, ob Sie beobachten Sommerzeit und zu welchem Zeitpunkt Sie wechseln in die und aus der Sommerzeit.
Wenn Sie auf jeden Fall brauchen Sie die Zeit-zone, möchten Sie vielleicht eine Liste von möglich Zeitzonen und zu präsentieren, dass der Benutzer auch erlauben Sie das überschreiben der Verengung Entscheidung, die Wahl alle Zeitzone.
Wieder, es hängt wirklich davon ab, was Sie versuchen zu erreichen.
DateTimeZone::listIdentifiers
.Brauchen Sie nicht jQuery zu tun. Versuchen Sie den folgenden code:
Warnt aktuelle Zeitzone offset vom browser (in Minuten).
Sehen dieses jsfiddle als Beweis.
Ich glaube, Sie brauchen, um zu konvertieren, um die Zeitzone, name auf Ihrem eigenen. Wenn Sie möchten, dass die Bezeichnungen konsistent zu sein, sollten Sie nicht davon ab, sich auf den browser des Benutzers.
Können Sie diesen code verwenden (siehe dieses jsfiddle):
Allerdings würde ich nicht auf diese angewiesen sind zu viel.
getTimezoneOffset()
scheitern jedes jetzt und dannKönnen Sie die timezone offset. Die Sie verwenden können, zu berechnen, die Ungefähre Zeitzone. Sie können halten eine assoziative Liste von timezone offset und die
names
.Diese Methode liefert keine genauen Werte, aber.
Wird diese Ausgabe:
Asia/Kolkata