
使用 mktime(8, 0) 即可获取当前日期上午 8:00 的时间戳;切勿写成 mktime(08, 00),否则会因前导零被解析为非法八进制字面量而触发 Parse error。
使用 `mktime(8, 0)` 即可获取当前日期上午 8:00 的时间戳;切勿写成 `mktime(08, 00)`,否则会因前导零被解析为非法八进制字面量而触发 parse error。
在 PHP 中,mktime() 函数用于根据指定的时、分、秒、月、日、年生成 Unix 时间戳。当你传入带前导零的数字(如 08 或 00)时,PHP 会将其视为八进制整数字面量——而八进制中只允许 0–7 的数字,因此 08 是语法错误,直接导致 Parse error: Invalid numeric literal。
✅ 正确写法(推荐,简洁明确):
$times = mktime(8, 0); // 默认使用当前日期,时=8,分=0 → 当天 08:00:00
⚠️ 注意事项:
- mktime() 各参数均为十进制整数,禁止添加前导零(如 08, 09, 00 均非法);
- 未指定的参数(秒、月、日、年)将自动采用当前系统时间对应值,因此 mktime(8, 0) 已足够表示“今天上午 8 点整”;
- 若需更高可读性或兼容未来版本,也可使用更现代的 DateTime 类:
$times = (new DateTime('today 08:00'))->getTimestamp();
? 补充说明:虽然 time() 返回当前时间戳、date() 用于格式化输出,但本需求本质是「构造特定时刻的时间戳」,mktime() 或 DateTime 均适用;对新手而言,mktime(8, 0) 是最直接、无依赖、语义清晰的解决方案。
立即学习“PHP免费学习笔记(深入)”;



















