在 php 中将 DateInterval 对象转换为秒
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
如何在php中将上述内容转换为秒$interval
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
如何在php中将上述内容转换为秒$interval
获取间隔中的秒数的另一种方法是将其添加到零日期,并获取该日期的时间戳:
$seconds = date_create('@0')->add($interval)->getTimestamp();
此方法将或多或少正确地处理通过 DateInterval 构造函数创建的间隔,而 shiplu 的答案将忽略此类间隔的年、月和日。但是,shiplu 的答案对于通过减去两个日期创建的间隔更准确。对于仅由小时、分钟和秒组成的间隔,这两种方法都将获得正确的答案。
有一个功能可以做到这一点。但它不会返回秒数。要获取秒数,请使用此技术format
$seconds = abs($datetime1->getTimestamp()-$datetime2->getTimestamp());
如果你真的想使用,你需要计算它。$interval
$seconds = $interval->days*86400 + $interval->h*3600
+ $interval->i*60 + $interval->s;
这里
86400
是一天中的秒数3600
是一小时内的秒数60
是一分钟内的秒数