PHP计算时间差

假如想知道用户最后登录网站距离现在已经过去了多长时间,这时就要计算两个日期之间的时间差。

PHP 中,计算两个日期之间的时间差需要先把两个日期转换成纪元时间戳再计算,示例如下:
<?php
//2019年1月1日19点30分0秒
$start = mktime(19,30,0,1,1,2019);
//2019年7月7日7点30分0秒
$end = mktime(7,30,0,7,7,2019);
$diff_seconds = $end - $start;
//一周的秒数是 24*60*60=604800 秒
$diff_weeks = floor($diff_seconds/604800);
//一天的描述是 24*60*60=86400
$diff_days = floor($diff_seconds/86400);
$diff_hours = floor($diff_seconds/3600);
$diff_minutes = floor($diff_seconds/60);
echo "2019-1-1 19:30:0 和 2019-7-7 7:30:0 之间相差:<br />".
    "$diff_seconds 秒<br />".
    "$diff_weeks 个星期<br />".
    "$diff_days 天<br />".
    "$diff_hours 个小时<br />".
    "$diff_minutes 分钟<br />";
?>
执行以上程序的输出结果为:

2019-1-1 19:30:0 和 2019-7-7 7:30:0 之间相差:
16113600 秒
26 个星期
186 天
4476 个小时
268560 分钟