What is the best way to calculate the total number of seconds between two dates? So far, I’ve tried something along the lines of:
$delta = $date->diff(new DateTime('now')); $seconds = $delta->days * 60 * 60 * 24;
However, the days
property of the DateInterval object seems to be broken in the current PHP5.3 build (at least on Windows, it always returns the same 6015
value). I also attempted to do it in a way which would fail to preserve number of days in each month (rounds to 30), leap years, etc:
$seconds = ($delta->s) + ($delta->i * 60) + ($delta->h * 60 * 60) + ($delta->d * 60 * 60 * 24) + ($delta->m * 60 * 60 * 24 * 30) + ($delta->y * 60 * 60 * 24 * 365);
But I’m really not happy with using this half-assed solution.
Advertisement
Answer
Could you not compare the time stamps instead?
$now = new DateTime('now'); $diff = $date->getTimestamp() - $now->getTimestamp()