计算两个日期之间总秒数的最佳方法是什么?到目前为止,我已经尝试了以下方法:
$delta = $date->diff(new DateTime('now')); $seconds = $delta->days * 60 * 60 * 24;
但是,days在当前的PHP5.3版本中,DateInterval对象的属性似乎已损坏(至少在Windows上,它总是返回相同的6015值)。我还尝试过这样做,无法保留每个月的天数(四舍五入到30),leap年等:
days
6015
$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);
但是我真的不满意使用这种半成品解决方案。
您可以不比较时间戳吗?
$now = new DateTime('now'); $diff = $date->getTimestamp() - $now->getTimestamp()