Al Hennessey
Al Hennessey

Reputation: 2445

Number of Minutes between two dates

say i have a date which is

$future_time_ending = "2012-09-21 12:12:22"

How do i work out the number of minutes between the current time and the $future_time_ending?

Thanks

Upvotes: 10

Views: 34906

Answers (1)

Matt S
Matt S

Reputation: 15364

One method:

$minutes = (strtotime("2012-09-21 12:12:22") - time()) / 60;

strtotime converts the date to a Unix timestamp - the number of seconds since the Unix epoch. Subtract the current timestamp and you have the number of seconds between the current time and the future time. Divide by 60 and the result is in minutes.

If you don't know for certain the time you're comparing is in the future, take the absolute value to get a positive number:

$minutes = abs(strtotime("2012-09-21 12:12:22") - time()) / 60;

Just to be complete in my answer, there is a more elaborate OO approach available in PHP:

$time = new DateTime("2012-09-21 12:12:22");
$diff = $time->diff(new DateTime());
$minutes = ($diff->days * 24 * 60) +
           ($diff->h * 60) + $diff->i;

This is especially useful if the input time is from a time zone other than the server's.

Upvotes: 36

Related Questions