Zeitverschiebung - wie realisieren?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeitverschiebung - wie realisieren?

    Hallo zusammen,

    ich soll für mein Script eine Zeiteinstellung realisieren. Sie soll vor allem ermöglichen, auch die korrekte Zeit anzuzeigen, wenn z.B. der User in Europa wohnt, sein Server, auf dem er das Script laufen lässt, aber in Amerika liegt.

    Die vom User einstellbare Zeitzone habe ich bereits ausgelesen. Nun habe ich diesen Code:

    PHP-Code:
    <?php
    $timezoneoffset 
    $timezoneoffset /* aus MySQL-Datenbank */ - (date("Z")/3600);
    ?>
    würde auch alles sauber klappen, wenn nur das nicht wäre:
    date("Z") gibt bei mir +2 zurück, obwohl ich in GMT +1 wohne,
    die Funktion time() gibt aber die Zeit für GMT +1 zurück!

    Mir ist natürlich klar, dass mein Server nicht einfach wissen kann, wo mein PC steht.

    Kann ich aber im allgemein erwarten, dass Webhoster ihre Server da richtig konfiguriert haben?

    Gibt es eine andere Lösung für so etwas, so dass der Server auch falsch konfiguriert sein kann?

    Wie kann ich das bei meinem Localhost richtig einstellen (habe ein WAMP-System am laufen)?

    Vielen Dank für eure Hilfe schon im Voraus!

    mfg, rob

  • #2
    Re: Zeitverschiebung - wie realisieren?

    Original geschrieben von roobin
    Kann ich aber im allgemein erwarten, dass Webhoster ihre Server da richtig konfiguriert haben?
    leider nein.

    normalerweise sollte sich mit set_locale() zwar die richtige zeitzone (nicht des jeweiligen users, sondern generell für die seite) einstellen lassen; leider macht das in der praxis immer wieder probleme.
    (für den support unter linux z.b. muss wie ich letzte tage irgendwo gelesen hab irgendwas mit einkompiliert werden, was aber nicht überall gemacht wird, etc.)
    Gibt es eine andere Lösung für so etwas, so dass der Server auch falsch konfiguriert sein kann?
    definiere am anfang des scriptes eine variable (oder evtl. sogar besser konstante), wo der user seine verschiebung in bezug auf GMT angeben kann (z.b. +1 oder -7).

    addiere dann beim ausgeben eines datums immer diese konstante mal 3600 sekunden auf den 'wirklichen' timestamp drauf.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Dein Vorschlag hatten wir bisher auch, aber der funktioniert, denn:

      wenn eben der User in den USA (vielleicht GMT -5) wohnt, sein Server aber in Europa (GMT +1) steht, dann kommt nachher nur eine Verschiebung um -4 raus, also GMT -4.
      Also diese Variante kann nicht funktionieren, irgendwie müsste ich einfach die Zeitzone des Servers rauskriegen (sollte ich das eventuell auch vom User eingeben lassen?).

      Kommentar


      • #4
        Jau so würd ichs machen.

        Kommentar


        • #5
          ich warte mal noch ab, ob sich was ergibt, ansonsten werde ich das halt wirklich mit einem benutzerdefinierten Feld machen...

          aber eine Frage habe ich noch: kann ich das bei meinem Localhost irgendwie konfigurieren? (wie gesagt ein WAMP-System)

          Kommentar

          Lädt...
          X