buggywoggy: Zeitzone vom Client ermitteln?

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?

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

  2. 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

    --
    As long as a single mind remembers, as long as a single heart
    beats with passion, how can a dream die?
    \//_ Live long and prosper
    sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
    1. 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

      1. 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

        --
        As long as a single mind remembers, as long as a single heart
        beats with passion, how can a dream die?
        \//_ Live long and prosper
        sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
        1. @@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'

          --
          Volumen einer Pizza mit Radius z und Dicke a: pi z z a
          1. 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

            --
            As long as a single mind remembers, as long as a single heart
            beats with passion, how can a dream die?
            \//_ Live long and prosper
            sh:( fo:) ch:| rl:° br:^ n4:| ie:% mo:| va:} de:> zu:) fl:( ss:) ls:> js:|
            1. 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

              --
              Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
              Terry Pratchett, "Wachen! Wachen!"
              Veranstaltungsdatenbank Vdb 0.3
            2. @@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)

              --
              Volumen einer Pizza mit Radius z und Dicke a: pi z z a
  3. 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

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
  4. Gibts eine Möglichkeit, unabhängig von der IP-Adresse, die Zeitzone des Clients (HTTP) zu ermitteln?

    Ja, frag ihn.