// Sample usage $dateNow = getIsoDate(); $dateAgo = '2005-12-05 18:30:12'; echo howLongAgo($dateNow, $dateAgo); function howLongAgo($dateNow, $dateAgo) { $sDifference = ''; $isRecent = true; $secondsDifference = (int) ( ( strtotime($dateNow) - strtotime($dateAgo) ) ); $sDifference = $secondsDifference . ' seconds'; if ($secondsDifference >= 60) { $minutesDifference = (int) ($secondsDifference / 60); $sDifference = $minutesDifference; $sDifference .= ($minutesDifference == 1) ? ' minute' : ' minutes'; if ($minutesDifference >= 60) { $hoursDifference = (int) ($minutesDifference / 60); $sDifference = $hoursDifference; $sDifference .= ($hoursDifference == 1) ? ' hour' : ' hours'; if ($hoursDifference >= 24) { $isRecent = false; $daysDifference = (int) ($hoursDifference / 24); $sDifference = $daysDifference; $sDifference .= ($daysDifference == 1) ? ' day' : ' days'; if ($daysDifference >= 30) { $monthsDifference = (int) ($daysDifference / 30); $sDifference = $monthsDifference; $sDifference .= ($monthsDifference == 1) ? ' month' : ' months'); } } } } $sDifference .= ' ago'; if ($isRecent) { $sDifference = '' . $sDifference . ''; } return $sDifference; }