time() gibt falsche Zeit zurück

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • time() gibt falsche Zeit zurück

    Hi,

    nutze auf meinem vServer php und habe das Problem, dass der time() Befehl immer die UTC Uhrzeit als Timestamp wiedergibt.

    Folgender Code wird genutzt:

    PHP Code:
    <?php
    setlocale
    (LC_ALL'de_DE');
    date_default_timezone_set('Europe/Berlin');
    echo 
    time();
    ?>
    Ausgabe:
    1633679707

    Was im Endeffekt bedeutet: Fri Oct 08 2021 07:55:07

    Aber es ist bereits 09:55:07 gewesen. In der php.ini ist als Timezone auch Europe/Berlin eingestellt, genau so wie auf dem Betriebssystem die Zeitzone entsprechend eingestellt ist.
    Wie bekomme ich nun mit dem time() Befehl die tatsächliche deutsche Zeit?

  • #2
    Der Unix-Timestamp ist immer UTC. Funktioniert also wie vorgesehen.

    Der Unix-Timestamp beschreibt einen Zeitpunkt und keine lokale Uhrzeit. Wenn du die Uhrzeit möchtest, solltest du die DateTime-Klasse verwenden.

    Comment


    • #3
      OK - und wie bekomme ich einen Timestamp mit der lokalen Uhrzeit ?

      Comment


      • #4
        Originally posted by Zero91 View Post
        OK - und wie bekomme ich einen Timestamp mit der lokalen Uhrzeit ?
        PHP Code:
        $dateTime = new DateTime('2021-10-08 10:00:00', new DateTimeZone('Europe/Berlin'));

        echo 
        $dateTime->getTimestamp();
        // 1633680000 

        Comment


        • #5
          Danke

          Comment

          Working...
          X