<?php
date_default_timezone_set("Asia/Jakarta");
$awal = strtotime("2014-05-20 04:21:03");
$akhir = strtotime("2014-07-12 13:32:45");
$beda = $akhir-$awal;
$hari = floor($beda/(60*60*24));
$jam = floor(($beda-$hari*(60*60*24))/(60*60));
$menit = floor(($beda-(($hari*60*60*24)+($jam*60*60)))/60);
$detik = floor($beda-(($hari*60*60*24)+($jam*60*60)+($menit*60)));
echo "Selisih waktu adalah ".$hari." hari ".$jam." jam ".$menit." menit ".$detik." detik.";
//output: Selisih waktu adalah 53 hari 9 jam 11 menit 42 detik.
$awal1 = date_create("2014-05-20 04:21:03");
$akhir1 = date_create("2014-07-12 13:32:45");
$diff = date_diff($awal1, $akhir1);
echo "\nSelisih waktu adalah ".$diff->y." tahun ".$diff->m." bulan ".$diff->d." hari ".$diff->h." jam ".$diff->i." menit ".$diff->s." detik.";
//output: Selisih waktu adalah 0 tahun 1 bulan 22 hari 9 jam 11 menit 42 detik.