What are the best practices for calculating time differences in PHP, especially when dealing with timestamps stored in a database?

When calculating time differences in PHP, especially when dealing with timestamps stored in a database, it's important to handle timezones properly to ensure accurate results. One approach is to use PHP's DateTime class along with setTimezone() method to set the desired timezones for comparison. Additionally, converting timestamps to DateTime objects before performing calculations can simplify the process and avoid potential errors.

// Example code snippet for calculating time difference between two timestamps stored in a database

// Assuming $timestamp1 and $timestamp2 are timestamps retrieved from the database
$datetime1 = new DateTime('@' . $timestamp1);
$datetime2 = new DateTime('@' . $timestamp2);

// Set the desired timezones for comparison
$timezone = new DateTimeZone('UTC');
$datetime1->setTimezone($timezone);
$datetime2->setTimezone($timezone);

// Calculate the time difference
$interval = $datetime1->diff($datetime2);

// Output the time difference
echo $interval->format('%Y years, %m months, %d days, %H hours, %i minutes, %s seconds');