当先锋百科网

首页 1 2 3 4 5 6 7
PHP 时间计算 时间计算是程序开发中非常常见的问题,而 PHP 提供了一些方便的函数来进行时间计算,本文将介绍一些常用的时间计算函数。 1. strtotime 函数 strtotime 函数将一个日期字符串解析成 Unix 时间戳,例如:
$timestamp = strtotime("2019-10-08 00:00:00");
echo $timestamp; // 输出:1570502400
在上面的例子中,strtotime 函数将日期字符串 "2019-10-08 00:00:00" 解析成 Unix 时间戳 1570502400,该时间戳表示的是 "2019-10-08 00:00:00" 这个时刻距离 Unix 时间戳 0 的秒数。 strtotime 函数还可以处理一些相对时间表达式,例如:
echo strtotime("+1 day"); // 明天这个时刻的 Unix 时间戳
echo strtotime("next Monday"); // 下周一这个时刻的 Unix 时间戳
echo strtotime("last day of this month"); // 本月最后一天这个时刻的 Unix 时间戳
2. date 函数 date 函数将 Unix 时间戳格式化成需要的日期字符串,例如:
echo date("Y-m-d H:i:s", 1570502400); // 输出:"2019-10-08 00:00:00"
在上面的例子中,date 函数将 Unix 时间戳 1570502400 格式化成了 "2019-10-08 00:00:00" 这个日期字符串。 date 函数还可以处理一些常用的日期格式,例如:
echo date("Y年m月d日"); // 输出:"2019年10月08日"
echo date("D, d M Y H:i:s T"); // 输出:"Tue, 08 Oct 2019 00:00:00 UTC"
3. time 函数 time 函数返回当前 Unix 时间戳,例如:
echo time(); // 输出当前 Unix 时间戳
4. mktime 函数 mktime 函数将一个日期时间转换成 Unix 时间戳,例如:
$timestamp = mktime(0, 0, 0, 10, 8, 2019);
echo $timestamp; // 输出:1570502400
在上面的例子中,mktime 函数将 "2019-10-08 00:00:00" 这个日期时间转换成 Unix 时间戳 1570502400。 mktime 函数的参数分别是时、分、秒、月、日、年,如果某个参数省略,将默认为当前值。 5. strtotime 和 date 组合使用 strtotime 和 date 可以很方便地组合使用,例如:
echo date("Y-m-d", strtotime("+1 day")); // 输出明天的日期字符串
在上面的例子中,先使用 strtotime 函数计算出明天这个时刻的 Unix 时间戳,再用 date 函数将该时间戳格式化成日期字符串。 6. 时间差计算函数 PHP 还提供了一些方便的函数来计算时间差,例如:
$now = time();
$target = strtotime("2020-01-01 00:00:00");
$diff = $target - $now;
$days = floor($diff / (24 * 60 * 60));
$hours = floor(($diff - $days * 24 * 60 * 60) / (60 * 60));
$minutes = floor(($diff - $days * 24 * 60 * 60 - $hours * 60 * 60) / 60);
$seconds = $diff - $days * 24 * 60 * 60 - $hours * 60 * 60 - $minutes * 60;
echo "距离 2020 年还有 " . $days . " 天 " . $hours . " 小时 " . $minutes . " 分钟 " . $seconds . " 秒";
在上面的例子中,先计算出当前时间到 "2020-01-01 00:00:00" 之间的时间差,然后将时间差转换成天、小时、分钟、秒等单位。 总结 本文介绍了 PHP 中常用的时间计算函数,包括 strtotime、date、time、mktime 和时间差计算函数等,这些函数在实际开发中非常有用。程序员应当掌握这些函数的用法,以便更加高效地完成时间计算相关的任务。