上一篇
场景引入:
凌晨3点,你盯着屏幕里显示"1970-01-01"的订单时间崩溃抓头——明明要显示"2025-08-15"啊!别急,今天带你用PHP玩转时间魔法,从格式混乱到随心操控,连"上周二下午3点"这种需求都能轻松拿捏~ ✨
$now = time(); // 当前时间戳(秒数) echo date('Y-m-d H:i:s', $now); // 输出:2025-08-15 14:30:00
🛠️ 核心概念:
time()
返回1970年1月1日至今的秒数(UTC时区) date()
把时间戳变成人类看得懂的格式 符号 | 说明 | 示例 |
---|---|---|
Y |
4位年份 | 2025 |
m |
补零月份 | 08 |
d |
补零日期 | 15 |
H |
24小时制 | 14 |
i |
分钟 | 30 |
s |
秒 | 00 |
D |
周几缩写 | Thu |
echo date('Y年m月d日 H点i分'); // 2025年08月15日 14点30分 echo date('今天是 l, F jS'); // 今天是 Thursday, August 15th
$lastWeek = strtotime("-1 week"); // 上周此刻的时间戳 echo date('Y-m-d', $lastWeek); // 输出:2025-08-08 $nextMonday = strtotime("next Monday"); // 下周一0点
// 获取上个月最后一天 $lastDay = date('Y-m-t', strtotime("last month")); // 精确到毫秒(PHP7.1+) $micro = microtime(true); // 带毫秒的时间戳
date_default_timezone_set('Asia/Shanghai'); // 设置时区! // 时区列表查看(部分示例) print_r(timezone_identifiers_list());
⚠️ 血泪教训:服务器时区≠本地时区,务必显式设置!
$future = strtotime("2025-12-31 23:59:59"); $diff = $future - time(); echo "距离2026年还有:" . floor($diff/86400) . "天";
time()
会在2038年1月19日溢出(类似千年虫) DateTime
对象比date()
更强大(支持链式操作): $date = (new DateTime())->modify('+3 days'); echo $date->format('Y-m-d');
:
下次遇到"时间错乱",记得这篇时光宝典!从date()
基础到strtotime
魔法,现在你连"第三个星期五"(strtotime("third Friday of August 2025")
)都能精准计算啦~ 🎉
本文由 夫语 于2025-08-01发表在【云服务器提供商】,文中图片由(夫语)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/500747.html
发表评论