How can one accurately calculate and display time intervals in PHP without errors like adding an extra hour?

When calculating and displaying time intervals in PHP, it's important to consider time zones and daylight saving time. One common issue is adding an extra hour when transitioning from standard time to daylight saving time. To accurately calculate and display time intervals, you can use the DateTime class in PHP along with specifying the correct time zone.

// Set the default time zone to avoid daylight saving time issues
date_default_timezone_set('UTC');

// Create DateTime objects for start and end times
$start = new DateTime('2022-01-01 08:00:00');
$end = new DateTime('2022-01-01 12:00:00');

// Calculate the time interval
$interval = $start->diff($end);

// Display the time interval
echo $interval->format('%H:%I:%S');