un esempio usando datetime:

Codice PHP:
function calculate_days_difference($datetime_start$datetime_to_compare) {
    
$diff $datetime_start->diff($datetime_to_compare);
    
    
$diff_days $diff->format("%a");
    
$diff_sign $diff->format("%R");

    switch (
true) {
        case 
$diff_days 1:
            
$day_tag "giorni";
            break;
        case 
$diff_days == 1:
            
$day_tag "giorni";
            break;
        case 
$diff_days == and $diff_sign == "-":
            return 
"oggi";
            break;
        case 
$diff_days == and $diff_sign == "+":
            
$day_tag "giorno";
            break;        
        default:
            return 
"qualcosa è andato storto";
            break;
    }

    switch (
$diff_sign) {
        case 
'-':
            return 
"$diff_days $day_tag fa";
        case 
'+':
            
$diff_days += 1;
            return 
"tra $diff_days $day_tag";
        default:
            return 
false;
    }
}

$datetimezone = new DateTimeZone("UTC");
$now = new DateTime("now"$datetimezone);
$date_to_compare = new DateTime("2017-06-17"$datetimezone);

$diff $now->diff($date_to_compare);

echo 
"inizio: " $now->format("Y-m-d H:i:s") . "\n";
echo 
"fine: " $date_to_compare->format("Y-m-d H:i:s") . "\n";
echo 
$diff->format("%R%a giorni %h ore") . "\n";

echo 
calculate_days_difference($now$date_to_compare) . "\n";
?>