PHP时间格式化处理
PHP里时间就两样东西:时间戳是给机器看的数字,格式化字符串是给人看的。
time() 拿当前时间戳,date() 把时间戳转成人能读的样子。
<?php
date_default_timezone_set('Asia/Shanghai'); // 定时区,不定会差8小时
echo time(); // 1735689600 一串数字就是时间戳
echo date('Y-m-d H:i:s'); // 2025-01-01 12:00:00,不传时间戳就格式化当前时间
echo date('Y-m-d H:i:s', 1735689600); // 传了就格式化指定时间
?>
反过来,把看到的日期转成时间戳,用 strtotime()。
<?php
echo strtotime('2025-01-01 12:00:00'); // 字符串转时间戳
echo strtotime('+1 day'); // 明天现在这个点
$days = (strtotime('2025-02-01') - strtotime('2025-01-01')) / 86400; // 相减除86400得天数
?>
格式符记住几个常用的就够:Y 年,m 月,d 日,H 时,i 分,s 秒。小写 m 是月份,i 是分钟,别写反了。需要时间差就直接两个时间戳相减,比 date 折腾一圈快得多。
说点什么 0