扫盲 2026.10.06 23:29 46 次浏览 0 条评论

PHP计算两个时间差值

PHP算两个时间差,常用两条路:strtotime 转时间戳相减,或者 DateTime::diff 直接拿差值对象。

<?php
// 时间戳相减,得到秒数
$start = strtotime('2024-01-01 08:00:00');
$end = strtotime('2024-01-02 10:30:00');
$seconds = $end - $start;
echo '相差秒数:' . $seconds;
echo '相差天数:' . floor($seconds / 86400);

// DateTime diff,输出更直观
$d1 = new DateTime('2024-01-01 08:00:00');
$d2 = new DateTime('2024-01-02 10:30:00');
$diff = $d1->diff($d2);
echo $diff->format('相差 %a 天 %H 小时 %I 分钟');

时间戳适合算总秒数,再除 86400、3600、60 换天时分。DateTime 适合直接显示天、小时、分钟。注意 strtotime 失败返回 false,时间格式建议写 Y-m-d H:i:s;差值为负可加 abs 取绝对值。

标签:PHP,时间差,日期函数

说点什么 0

行思随记

欢迎来到:行思随记