Zeitzone vom Client ermitteln?
buggywoggy
- sonstiges
Hi ihr Nachtschwärmer!
Gibts eine Möglichkeit, unabhängig von der IP-Adresse, die Zeitzone des Clients (HTTP) zu ermitteln? Die Sprache reicht leider nicht aus, da man ja in vielen Ländern englisch oder spanisch spricht.
Ich weiss, dass sowas per JavaScript möglich ist. Aber gibts auch eine Möglichkeit dies bei Serverseitigen Scripten auszulesen?
Hi,
Gibts eine Möglichkeit, unabhängig von der IP-Adresse, die Zeitzone des Clients (HTTP) zu ermitteln?
die Frage lautet also, ob diese Information in einem HTTP-Request an den Server übermittelt wird. Die Antwort ist: Nein.
Cheatah
Moin,
die Frage lautet also, ob diese Information in einem HTTP-Request an den Server übermittelt wird. Die Antwort ist: Nein.
Cheatah, mein Lieber, bei Deinen köstlichen Antworten versuche ich mir immer vorzustellen, wie die Fragestellung in das Kleinhirn flattert, dort mit pack() in eine binäre Struktur umgewandelt und dann über switch(case:1,0) gefiltert wird ;-)
Abstrakt gesehen, lässt sich ja auch der ganze Alltag so betrachten, die Kompliziertheit ergibt sich dann nur noch aus der Tatsache, dass es ein paar idiotische Verzweigungen gibt.
Schönen Tag Euch allen,
Horst Haselhuhn
Grundlage für Zitat #1629.
Hallo ,
Ich weiss, dass sowas per JavaScript möglich ist. Aber
gibts auch eine Möglichkeit dies bei Serverseitigen
Scripten auszulesen?
JavaScript schreibt die Zeit in eine Variable, die an ein
Serverseitiges Script weitergereicht wird.
document.write('<img src="serverscript.php?zeit='+Uhrzeit+'" width="1" height="1" alt="nix" />');
JavaScript selbst kann nichts an den Server senden, dazu
ist ein kleiner Umweg über den Aufruf einer Serverseitigen
Ressource nötig.
gruesse aus'm ruhrpott
jens mueller
moin,
JavaScript schreibt die Zeit in eine Variable, die an ein
Serverseitiges Script weitergereicht wird.
Genau! Oder gleich die ZZ:
var dob = new Date();
dob.getTimezoneOffset();
Und ab damit zu ajax ;-)
Leider, leider wollen mansche kein JS.
Hotti
Hallo ,
Genau! Oder gleich die ZZ:
Genauer, Zeitzone und Uhrzeit.
Die lokale Uhrzeit entspricht nicht immer der lokalen
Zeitzone. Die Sommerzeit weicht um +1h von der
lokalen Zeitzone ab.
Zum Bleistift, Arizona. Arizona liegt in der Mountain
Time (GMT +7), hat aber keine Sommerzeit. Nur nach
der Uhrzeit würde Az. dann im der Pacific Standard
Time (GMT +8) liegen.
Anderes Beispiel, Nord- und Südhalbkugel. Auf der Karte
sind Auckland (Neuseeland) und Petropawlowsk
(Russland/Kamtschatka) in der gleichen Zeitzone.
Da auf Neuseeländischen Uhren aber gerade Sommerzeit
enigestellt ist, Zeigt die Uhr dort 22:02 an (GMT +13).
In Petropawlowsk ist es aber Standardzeit, 21:02.
Beide Orte haben ganz unterschiedliche Orts-Zeiten.
gruesse aus'm ruhrpott
jens mueller
@@Jens Müller:
nuqneH
Die lokale Uhrzeit entspricht nicht immer der lokalen
Zeitzone. Die Sommerzeit weicht um +1h von der
lokalen Zeitzone ab.
Nein. Während der Sommerzeit gilt eine andere Zonenzeit. Fürn Ruhrpott bespielsweise +02:00 (MESZ) gegenüber Winterzeit +01:00 (MEZ).
Qapla'
Moin Moin,
Nein. Während der Sommerzeit gilt eine andere
Zonenzeit. Fürn Ruhrpott bespielsweise +02:00
(MESZ) gegenüber Winterzeit +01:00 (MEZ).
Dies meine ich nicht. Ich meinte, es ist nicht ausreichend
aus der Uhrzeit die Zeitzone zu ermitteln.
Ich versuche es mal am Beispiel Arizona zu erklären.
Angenommen es ist 20:00h abends in Phoenix zur
"Winterzeit" ist es dort genau so spät wie in Denver CO.
Zur Sommerzeit jedoch entspricht 20:00h abends nicht der
Zeit von Denver. In Denver ist es dann schon 21:00 abends.
Die Zeit stimmt mit der von Los Angeles (Ca.) oder von Las
Vegas (NV) überein.
gruesse aus'm ruhrpott
jens mueller
Hallo
Nein. Während der Sommerzeit gilt eine andere
Zonenzeit. Fürn Ruhrpott bespielsweise +02:00
(MESZ) gegenüber Winterzeit +01:00 (MEZ).Dies meine ich nicht. Ich meinte, es ist nicht ausreichend
aus der Uhrzeit die Zeitzone zu ermitteln.
Dann lasse es. Benutze stattdessen *nur* die Zeitzoneneinstellung des Rechners. Unter Unixoiden gibt es dazu zoneinfo, unter Windows funktioniert das ein wenig anders, aber schlussendlich wird sich immer die lokal eingestellte Zeitzone (inkl. Sommerzeit bzw. Daylight Saving Time) ermitteln lassen. Wenn die Info in einem für ein serverseitiges Skript verwendbarem Format vorliegt, ist alles Paletti.
Wenn man eine Seite betreibt, auf der sich Benutzer registrieren können, kann man sie auch deren Heimatzeitzone in den Benutzereinstellungen eintragen lassen.
Tschö, Auge
@@Jens Müller:
nuqneH
Nein. Während der Sommerzeit gilt eine andere
Zonenzeit. Fürn Ruhrpott bespielsweise +02:00
(MESZ) gegenüber Winterzeit +01:00 (MEZ).Dies meine ich nicht. Ich meinte, es ist nicht ausreichend
aus der Uhrzeit die Zeitzone zu ermitteln.
Aus der Uhrzeit? Aus dem 'Date
'-Objekt. 'getTimezoneOffset()
' liefert für den Ruhrpott -60 während der Winterzeit und -120 während der Sommerzeit*; erkennt also die die richtige Zeitzone**. (Die Zeitzone des Potts während der Sommerzeit ist eben nicht MEZ!)
Qapla'
* es sei denn, das System des Client ist fehlkofiguriert.
** obwohl die Methode in Minuten rechnet (WTF?) und das falsche Vorzeichen liefert (Achtung)
Wie bereits angedeutet wurde, gibt es keine Möglichkeit, es ohne entsprechende Client-Interaktion auszulesen. Damit bleiben 2 Möglichkeiten:
1. Per GeoIP rein serverseitig den Standord ermitteln und daraus auf die Zeitzone schließen. Sehr mühsam, außerdem bei Verwendung von Proxyservern oder manchen obskuren ISPs ziemlich ungenau.
2. mittels <http://de.selfhtml.org/javascript/objekte/date.htm#get_timezone_offset@title=(new Date()).getTimezoneOffset()> auf dem Client per JavaScript die Zeitzone ermitteln und diese per Image-Request an den Server schicken. Entgegen dem, was Jens Müller vorschlägt, würde ich dabei vorzugsweise auf document.write verzichten:
<script type="text/javascript">
(new Image()).src = '//server/mein_timezone_script/?tz='+(new Date()).getTimezoneOffset();
</script>
Gruß, LX
Gibts eine Möglichkeit, unabhängig von der IP-Adresse, die Zeitzone des Clients (HTTP) zu ermitteln?
Ja, frag ihn.