计算两个日期之间总秒数的最佳方法是什么?到目前为止,我已尝试过以下方面:
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
但是,DateInterval对象的 days
属性似乎在当前的PHP5.3版本中被破坏(至少在Windows上,它总是返回相同的 6015
值) . 我还试图以一种不能保存每个月(轮数到30天),闰年等天数的方式来做到这一点:
$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);
但是我真的不满意使用这种半成品解决方案 .
5 回答
你不能比较time stamps吗?
此函数允许您从DateInterval对象获取总持续时间(以秒为单位)
你可以这样做:
time()返回自纪元时间(1970-01-01T00:00:00)以来的当前时间(秒),并且strtotime执行相同的操作,但是基于您给出的特定日期/时间 .
您可以输入硬数字(而不是60 * 60 - 放入3600),因此每次都不需要计算它们 .
编辑 - 根据您的评论修复该号码 .