Skip to content

Instantly share code, notes, and snippets.

@jpescada
Last active November 22, 2018 12:50
Show Gist options
  • Save jpescada/8f41405fbda9d3c2308715d45f555add to your computer and use it in GitHub Desktop.
Save jpescada/8f41405fbda9d3c2308715d45f555add to your computer and use it in GitHub Desktop.
Get time left between dates in days, hours and minutes with PHP
function getTimeLeft($startDate)
{
$now = new DateTime();
$then = new DateTime($startDate);
$timeLeft = 0;
// Only calculate time left if $then is still a future date
if ($now < $then) {
$difference = $now->diff($then);
$days = $difference->days;
$hours = $difference->h;
$minutes = $difference->i;
if ($days > 1) {
$timeLeft = $days .' days';
} elseif ($days == 1) {
$timeLeft = $days .' day';
} elseif ($days < 1) {
if ($hours > 1) {
$timeLeft = $hours .' hours';
} elseif ($hours == 1) {
$timeLeft = $hours .' hour';
} elseif ($hours < 1) {
if ($minutes > 1) {
$timeLeft = $minutes .' minutes';
} elseif ($minutes == 1) {
$timeLeft = $minutes .' minute';
} elseif ($minutes < 1) {
$timeLeft = 0;
}
}
}
}
return $timeLeft;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment