Die Frage ist, wie es klingt - wie die Zeitzone des Clientbenutzers basierend auf ihrer Browsereingabe abgerufen wird? Wenn es darauf ankommt, serverseitig, wird J2EE verwendet - aber das ist in diesem Fall nicht wirklich wichtig. Im Moment ist HTTP das Protokoll, es kann HTTPS verwenden, wenn es online geht.Wie rufen Sie die Zeitzone des Clientbenutzers für eine Webanwendung ab?
Antwort
Ich bin mir sicher, dass dies ein Duplikat ist.
Der beste Weg ist, den Benutzer zu fragen. Die Zeitzone wird standardmäßig nicht in den HTML-Headern gesendet. Bedenken Sie auch, dass ein Benutzer aus einer Zeitzone möglicherweise einen anderen besucht. Welche Zeitzone sollten Sie verwenden?
Wenn es ein Duplikat ist, konnte ich es nicht in der Liste der "verwandten Fragen" finden . Es gibt einige Fragen, die ähnlich sind, aber keiner hat gefragt, wonach ich gesucht habe. – MetroidFan2002
Ich sehe, dass dies ein Duplikat von http://stackoverflow.com/questions/743505/how-to-get-time-zone-through-ip-address-in-php ist, trotz der unterschiedlichen Sprache. –
Diese Frage ist sehr ähnlich, fragt aber explizit nach (und erhielt eine Antwort auf) PHP. Aber das würde nicht funktionieren, wenn Sie einen Stack verwenden, der kein PHP ist. – MetroidFan2002
Scheint jemand hacked some javascript, um dies abzuleiten, aber ja, der beste Weg ist, den Benutzer entscheiden zu lassen. Sie können jedoch den obigen Link verwenden, um den Standard für den Benutzer auszuwählen.
Sie können auch IP-Geolocation-Dienste wie ip2location verwenden. Sie geben sell a database subscription zurück, die die Zeitzone zurückgibt, in der sich die IP-Adresse befindet. Natürlich hat das einen Preis. A Javascript solution würde funktionieren, aber erfordert, dass der Client es unterstützt. Die Geolokalisierung unterstützt jeden Client, kann jedoch das falsche Ergebnis liefern, je nachdem, wie der IP-Block zugewiesen wurde oder ob der Client einen Proxy-Server in einer anderen Zeitzone verwendet (höchstwahrscheinlich ein anomysierender Proxy-Dienst). Die Javascript-Lösung unterstützt eine große Vielfalt von Clients, gibt aber die Zeitzonenbasis zurück, auf der der Computer eingestellt ist, und nicht die Zeitzonenbasis auf dem tatsächlichen Standort (reisender Benutzer ändert nicht immer die Zeit auf seinem Computer). Es gibt also keine einzige Lösung, die alle abdeckt.
Mit einer dieser beiden Methoden eine Schätzung zu machen und dann dem Benutzer zu erlauben, sie zu korrigieren, wäre der beste Ansatz, den ich mir vorstellen würde. Wenn Sie Overkill spielen wollen, verwenden Sie beide und lassen Sie den Benutzer entscheiden, was am sinnvollsten ist.
Aber was ist mit Proxy-Servern, die die Entstehung der IP-Adresse maskieren? Würden Sie nicht nur die Zeitzone des letzten Proxy-Servers bekommen? – MetroidFan2002
Ich habe die Antwort aktualisiert und darauf hingewiesen, dass der Proxy-Server ein Problem wäre, aber nur, wenn sie sich in einer anderen Zeitzone befinden. Danke, dass du das aufzeigst. –
Wie von Pierre-Luc Simard angegeben, was eine sehr gute Idee ist, können Sie die IP verwenden, um diese Informationen abzuleiten. Kredit geht zu ihm, aber ich werde einen weiteren Link zu einer kostenlosen Alternative hinzufügen, die ist. Es gibt auch eine sample code in PHP for the timezones und ich bin mir ziemlich sicher, dass Sie das Äquivalent in ihrem Java API finden werden.
Wahrscheinlich konnten Sie einige Javascript verwenden: http://jeoftp.blogspot.com/2009/03/determine-java-timezone-of-your-web.html
- 1. So rufen Sie die Dateien des Versionselementes in TFS ab
- 2. Django - rufen Sie die Formulareingabewerte ab
- 3. py2neo: So rufen Sie die Knotenbezeichnung ab
- 4. So rufen Sie die Originaldatei ab
- 5. So rufen Sie den Umrechnungsfaktor für eine Einheitenumrechnung ab
- 6. Wie rufen Sie die Klasse ab, um die Schaltfläche auszublenden?
- 7. Wie rufen Sie die Commit-Nachricht und die Dateiliste für eine bestimmte Revision ab?
- 8. So rufen Sie Funktionsparameter ab
- 9. Wie rufen Sie die Stiftdruckinformationen in Windows ab?
- 10. Wie rufen Sie den Namen der Publikation ab, die die Quelle des abgerufenen Nachrichtenartikels ist?
- 11. Rufen Sie die Seiten eines mehrseitigen Besprechungsarbeitsbereichs ab
- 12. Rufen Sie die Telefonnummer oder IMEI eines Smartphones ab
- 13. So rufen Sie Daten nach Zeit ab
- 14. Android - So rufen Sie die Liste der registrierten Geofences ab
- 15. So rufen Sie eine E-Mail von Google Mail ab
- 16. So rufen Sie das mehrsprachige Domänenmodell ab?
- 17. So rufen Sie eine Teilmenge einer Enumeration ab
- 18. So rufen Sie Text von UIAlertViewStylePlainTextInput ab
- 19. So rufen Sie eine Ebene in Caffe ab
- 20. So rufen Sie eine Webseite mit C# ab?
- 21. Rufen Sie alle Rechnungsaktivitäten ab, wenn eine Gutschrift vorliegt.
- 22. So rufen Sie die ursprüngliche Percolator-Abfrage ab
- 23. Wie modellieren und rufen Sie Daten ab, die eine gemeinsame Tabelle haben?
- 24. Rufen Sie die Telefonnummer des Geräts programmgesteuert
- 25. Rufen Sie den Assembly-Pfad ab C#
- 26. Wie rufen Sie den ausgewählten Text in MATLAB ab?
- 27. Wie konzipieren Sie eine Webanwendung?
- 28. Rufen Sie eine Liste der beliebtesten GET-Param-Varianten für eine bestimmte URL ab?
- 29. Wie verspottet man die Zeitzone des Browsers?
- 30. So rufen Sie die Position des ausgewählten Knotens in einer anderen Knotengruppe ab
Dies wäre nützlich die Browser-Anwendungen aussetzen zu haben, und es scheint, dass es nicht viel Risiko aussetzen würde. – pearcewg
Duplikat von Frage 13 (!). http://stackoverflow.com/questions/13/how-can-i-determine-a-web-users-time-zone – user9876