Bernd: Datums Problem auf Webserver PHP

Hallo,

ich habe ein Datum Problem und zwar möchte ich Wissen welches Datum in 2 Wochen ist?

Ich habe hier für auch eine Lösung die auf meinem Heimischen Linux Server 100% läuft aber auf dem Webserver meines Kundens kommt ein ganz anderes Ergebnis heraus, welches falsch ist.

Das heißt das Datum wird bis Mitte Oktober richtig berechnet aber dann ist das Datum immer um 1 Tag im Rückstand. Komisch ist nur dass das Serverdatum richtig zurück gegeben wird.

Und so sieht mein Test Script aus:

$woche = 2;
$datum = 1098741600;
echo "Heute: ".date('d.m.Y', 1098741600)."<br>";
echo "Sekunden: ".$datum ."<br><br>";

$zukunft = $datum + $woche*7*24*60*60;
echo "Zukunft: ".$zukunft."<br><br>";

$neues_datum = date('d.m.Y', $zukunft);

echo "Neues Datum: ".$neues_datum."<br>";
echo "Sekunden: ".$zukunft ;

Ergebnis (falsch):
*******************
Heute: 26.10.2004
Sekunden: 1098741600

Zukunft: 1099951200

Neues Datum: 08.11.2004
Sekunden: 1099951200

Es muß folgendes rauskommen:
****************************
Neues Datum: 09.11.2004

Das komische an der ganze Sache ist, das Datum wird erst ab der letzten Oktoberwoche falsch berechnet!? Aber warum?

Nach diesem Prinzip funktioniert das Script seit Januar ohne Problem und ohne Fehler aber warum kommt ab Oktober ein falscher Wert?

Mir ist klar das wir es sich hier um ein Schaltjahr handelt aber der Entscheidene Monat ist doch immer Februar. War das evtl. Früher mal anders???

Gruß Bernd

  1. Hi,

    Das komische an der ganze Sache ist, das Datum wird erst ab der letzten Oktoberwoche falsch berechnet!? Aber warum?

    an welchem Datum war noch gleich die Umstellung auf Winterzeit?

    Mir ist klar das wir es sich hier um ein Schaltjahr handelt aber der Entscheidene Monat ist doch immer Februar. War das evtl. Früher mal anders???

    Ja. Im Jahre 11 vor Christus gab es (letztmalig) einen 30. Februar.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo.

      Die Umstellung auf Winterzeit ist am 31.Oktober um 3:00 Uhr.
      Was unterscheidet eigentlich die beiden Server.
      Ist der andere auf 'nem Windows-System?

      MfG _Siro.

      1. Hi,

        Die Umstellung auf Winterzeit ist am 31.Oktober um 3:00 Uhr.

        genau das meinte ich. Daraus folgt, dass der 1. November 0:00 Uhr nicht 14 Tage nach dem 18. Oktober 0:00 Uhr ist.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo.

          genau das meinte ich. Daraus folgt, dass der 1. November 0:00 Uhr nicht 14 Tage nach dem 18. Oktober 0:00 Uhr ist.

          Aber warum sagt er dann, dass es auf seinem Server funktioniert.

          Grübelnd und MFG _Siro.

          1. Hi,

            genau das meinte ich. Daraus folgt, dass der 1. November 0:00 Uhr nicht 14 Tage nach dem 18. Oktober 0:00 Uhr ist.
            Aber warum sagt er dann, dass es auf seinem Server funktioniert.

            weil dieser die Zeitumstellung nicht beachtet.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Was ist denn wenn ich meine Tage nicht ab 0:00 berechne sondern erst ab 3:00 würde das richtig funktionieren oder wird der Server zu der Zeit erst zurück gestellt und man kann das so nicht berechnen?

              1. Wann ist denn nun immer die Sommerzeit und Weinterzeitumstellung die ist ja nicht jedes Jahr immer auf dem selben Datum?

                1. Hallo.

                  Wann die Daten sind steht bei http://www.zeitumstellung.de/regeln-zeitumstellung.htm.

                  MfG _Siro.

                  1. Danke!

                    Ich habe es nun ganz einfach gelöst ich Frage nun nicht von 0:00 Uhr sondern von 6:00 den Tag ab dann geht es aufjedenfall!

                    Denn die Uhrzeit wird in meinem Fall erst gar nicht benötigt.

                    Und die Regeln für die Zeitumstellung habe ich für meine Akten ausgedruckt, fürs nächste mal ;)

                    Danke!

          2. Das Script ist ein Test Script aus dem eigentlichen Code um den Fehler genaus zu analysieren zu können.

            Test Script heimischer PC bekomme ich folgendes Ergebnis:
            *********************************************************
            Heute: 25.10.2004
            Sekunden: 1098741600

            Zukunft: 1099951200

            Neues Datum: 08.11.2004
            Sekunden: 1099951200

            //Server-Datum: 01.05.2004 Zeit: 15:02

            Auf meinem Webserver:
            *********************
            Heute: 26.10.2004
            Sekunden: 1098741600

            Zukunft: 1099951200

            Neues Datum: 08.11.2004
            Sekunden: 1099951200

            //Server-Datum: 01.05.2004 Zeit: 15:03

            Also müßte ich am 31.10 die Uhr um eine Stunde zurückstellen das es passt?

      2. Beides Linux

        Aber was hat das mit der Winterzeit zutun?

        Ich habe doch einen ganzen Tag falsch

        1. Hi,

          Aber was hat das mit der Winterzeit zutun?
          Ich habe doch einen ganzen Tag falsch

          wenn Du die Zahl 42.4999 rundest, kommt 42 raus. Erhöhst Du sie zuvor um nur 0.0001, unterscheidet sich das Ergebnis um das Zehntausendfache dieses Wertes.

          Cheatah

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Bernd,

    $zukunft = $datum + $woche*7*24*60*60;

    warum verwendest du nicht einfach strtotime:
      $zukunft = strtotime('+2 weeks',$datum);
    (siehe auch http://de3.php.net/strtotime)?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|