Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:date

Datumsberechnung (Problem: Zeitumstellung)

Die Datumsberechnungen mit der festen Anzahl der Sekunden eines Tages (60 Sekunden * 60 Minuten * 24 Stunden = 86.400 Sekunden) führt spätestens bei der Zeitumstellung (Sommerzeit/Winterzeit) durch die Zeitverschiebung zu Problemen mit der Uhrzeit.

Problem:

<?php
 
$TS = 1427410800 ; // 27. März 2015
 
for( $Tage=1; $Tage<=4; $Tage++ )
	echo date( "d.m.Y - H:i", $TS + 60 * 60 * 24 * $Tage ) . "<br />";
?>

Ergebnis:

28.03.2015 - 00:00
29.03.2015 - 00:00
30.03.2015 - 01:00 // ab hier eine Stunde Verschiebung
31.03.2015 - 01:00

Lösung:

<?php
 
$TS = 1427410800 ; // 27. März 2015
 
for( $Tage=1; $Tage<=4; $Tage++ )
	echo date( "d.m.Y - H:i", strtotime( "+$Tage day", $TS ) ), "<br />";
?>

Ergebnis:

28.03.2015 - 00:00
29.03.2015 - 00:00
30.03.2015 - 00:00
31.03.2015 - 00:00
php/date.txt · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)