Problem mit date() und gmdate()

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

  • Problem mit date() und gmdate()

    Hallo,

    ich habe ein komisches Phänomen bei der Verwendung von date() und gmdate() festgestellt.

    Wenn ich date("H:i") verwende, wird die ganz normale deutsche Zeit angezeigt. Bei gmdate("H:i") wird logischerweise die deutsche Zeit minus 2 Stunden angezeigt, wie es sein soll.

    Das komische ist jetzt, dass date("U") und gmdate("U") den selben Timestamp liefern, nämlich den der deutschen Zeit. Normalerweise sollte doch der zweite um 7200 (2 Std.) niedriger sein.

    Ist das nur auf meinem Server so oder ist das grundsätzlich so. Kann mir das jemand erklären.

    Was ich benötige ist GM Time als Timestamp.

  • #2
    Der Unix Zeitepoche liegt eine GMT Time zu Grunde
    Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
    Nur wegen der Zeitzonen sind seitdem nicht mehr Sekunden vergangen. Die Unix Epoche hat so gesehen in D erst am 1. Januar 1970 um 01:00:00 begonnen.
    Stells dir so vor: Die Anzahl Sekunden seit einem bestimmten Zeitpunkt (in einer bestimmten Zeitzone) ist unabhängig von der Zeitzone und immer gleich gross. Zeit ist eben doch nicht relativ (wenn wir mal die Geschwindigkeit ausser Acht lassen)

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Re: Problem mit date() und gmdate()

      Original geschrieben von JimDaniels
      Das komische ist jetzt, dass date("U") und gmdate("U") den selben Timestamp liefern,
      Natürlich - der Unix Timestamp ist immer gleich, überall und weltweit.

      Wenn du jetzt mit einem Asiaten telefonierst, ist bei dem früher morgen, und wenn du einen Ami anrufst, ist es bei dem irgendwann am Nachmittag - trotzdem passiert das doch alles zur gleichen Zeit, nämlich jetzt.
      nämlich den der deutschen Zeit.
      Ja, weil du ihn dir wieder als "deutsche" Zeit formatiert ausgeben lässt.
      Was ich benötige ist GM Time als Timestamp.
      time()
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Danke,

        jetzt hab ich nur noch das Problem das ich die GM Zeit noch nicht als Timestamp bekomme. Time() liefert mir die aktuelle deutsche Zeit. Ich könnte natürlich 7200 abziehen, aber dann müsste ich bei jedem Sommer-/Winterzeit Wechsel meinen Quellcode ändern.

        Ja, weil du ihn dir wieder als "deutsche" Zeit formatiert ausgeben lässt.
        @wahsaga Wie kann ich die Zeit denn als GM Zeit formatieren?? Ich weiß nicht genau wie du das meinst.

        Da muss es doch eine andere Möglichkeit geben.

        Kommentar


        • #5
          Habs gelöst.

          Ich nehme die deutsche Zeit und ziehe davon einfach date("Z") (Unterschied gegenüber GMT) ab.

          Danke.

          Kommentar


          • #6
            Original geschrieben von JimDaniels
            Wie kann ich die Zeit denn als GM Zeit formatieren??
            gmdate() hast du doch bereits gefunden - was hast du daran nicht verstanden?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X