- date_diff: documentation ( source)
- date_default_timezone_set: documentation ( source)
- ini_set: documentation ( source)
<?php
ini_set('date.timezone', 'Europe/Berlin');
date_default_timezone_set('Europe/Berlin');
$date1 = new DateTime("2015-03-29 02:00:00");
$date2 = new DateTime("2015-03-29 03:00:00");
$interval = date_diff($date1, $date2);
echo $interval->format('%H Hour(s) %I Minute(s) %S Second(s)' );
# daylight saving time in Europe. Result is correct: 0 hours.
echo "\n";
$date1 = new DateTime("2015-03-29 01:00:00");
$date2 = new DateTime("2015-03-29 03:00:00");
$interval = date_diff($date1, $date2);
echo $interval->format('%H Hour(s) %I Minute(s) %S Second(s)' );
# The result is incorrect: should be 1 hour only.
?>