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
To get the number of minutes between 2 dates: Get the number of milliseconds between the unix epoch and the Dates. Subtract the milliseconds of the start date from the milliseconds of the end date. Divide the result by the number of milliseconds in a minute - 60 * 1000 .
(END TIME - START TIME)*1440 We subtract time/dates in excel to get the number of days. Since a day has 1440 (24*60) minutes, we multiply the result by 1440 to get the exact number of minutes.
To calculate the number of days between two dates, you need to subtract the start date from the end date. If this crosses several years, you should calculate the number of full years. For the period left over, work out the number of months.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With