Riesenproblem - Zeitausgabe in php differiert von Systemzeit

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

  • Riesenproblem - Zeitausgabe in php differiert von Systemzeit

    Hi,

    ich bin gerade etwas ratlos und weiß nicht mehr weiter. Also folgendes Problem: Ein kleines PHP-Script soll mir die Uhzeit des Webervers sagen. Das Script sieht so aus:

    <?
    echo "system('date') = " ;
    system('date');
    $today = getdate();
    $month = $today['month'];
    $mday = $today['mday'];
    $year = $today['year'];
    $hours = $today['hours'];
    $minutes = $today['minutes'];
    $now = sprintf ("$mday $month $year %02d:%02d", $hours, $minutes);
    echo " Der Web-Server sagt: Es ist der $now Uhr";
    ?>


    Ausgegeben werden zwei verschiedene Zeiten die sich genau um 6h unterscheiden. Die Ausgabe schaut so aus:

    system('date') = Die Apr 20 18:11:11 CEST 2004 Der Web-Server sagt: Es ist der 20 April 2004 12:11 Uhr

    Hat jemand eine Idee warum der Webserver ne andere Zeit ausgibt? Ich habe ja den Verdacht, daß PHP eine andere Zeitzone verwendet, aber wo kann ich die bei PHP einstellen? In der php.ini habe ich nichts gefunden. Im Web habe ich auch nichts dazu gefunden.

  • #2
    Sieht in der Tat aus, als würde PHP EST (Eastern Standard Time) benutzen ... kennst du setlocale schon?
    PHP-Code:
    echo 'aktuelle Locale: '$oldlocale setlocale(LC_TIME0). '<br>';
    echo 
    "PHP-Zeit: "strftime('%x %X (%Z)'). '<br>';
    setlocale(LC_TIME''); // Systemeinstellungen übernehmen
    echo 'System-Locale: 'setlocale(LC_TIME0). '<br>';
    echo 
    "PHP-Zeit mit SysLoc: "strftime('%x %X (%Z)'). '<br>';
    setlocale(LC_TIME$oldlocale); // alte Einstellung wieder herstellen 
    P.S.: Welche Zeit stimmt denn eher? Die vom Server oder die von PHP?

    Interessant wäre auch die Rückgabe von date('Z') (Offset der Zeitzone in Sekunden)
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Bitte auch die [PHP]-Tags des Forums benutzen

      Kommentar


      • #4
        Hi,

        ich arbeite auch an dem Problem. Folgendes Script habe ich dazu gebastelt:
        PHP-Code:
        <?
        echo "Systemzeit nach system('date'): " ;
        system('date');
        echo "<br>";
        echo "Zeit ausgelesen mit PHP: ";
        echo date("D M j G:i:s T Y");
        ?>
        Die Ausgabe sieht dann so aus:
        Systemzeit nach system('date'): Son Apr 25 22:34:23 CEST 2004
        Zeit ausgelesen mit PHP: Sun Apr 25 16:34:23 EDT 2004

        Um as Offset der Zeitzone zu betrachten habe ich dieses Script benutzt:

        PHP-Code:
        <?
         echo "Systemzeit nach system('date'): " ;
         system('date');
         echo "<br>";
         echo "Zeit ausgelesen mit PHP date ('Z): ";
         echo date('Z');
        ?>

        Die Ausgabe davon ist:

        Systemzeit nach system('date'): Son Apr 25 22:43:33 CEST 2004
        Zeit ausgelesen mit PHP date ('Z): -14400

        Sehe ich das richtig, dass ich das Problem durch setlocale in den Griff bekommen kann?

        Kommentar

        Lädt...
        X