使用date()函数或DateTime类获取并格式化当前时间,如date('Y-m-d H:i:s')输出2025-04-05 14:30:22,推荐结合date_default_timezone_set('Asia/Shanghai')设置时区以确保准确性。

在PHP中获取当前时间并进行格式化是日常开发中的常见需求,比如记录日志、生成订单号、设置缓存过期时间等。PHP提供了多种方式来处理日期和时间,最常用的是 date() 函数和 DateTime 类。
使用 date() 函数获取当前时间
date() 是最简单直接的方法,用于格式化本地时间/日期。
示例:
$now = date('Y-m-d H:i:s');
echo $now; // 输出类似:2025-04-05 14:30:22
常用格式字符说明:
- Y - 4位数年份(如:2025)
- m - 两位数月份(01-12)
- d - 两位数日期(01-31)
- H - 24小时制小时(00-23)
- i - 分钟(00-59)
- s - 秒(00-59)
- Y-m-d 可输出:2025-04-05
- Y/m/d H:i 可输出:2025/04/05 14:30
使用 DateTime 类更灵活地处理时间
对于更复杂的操作,推荐使用面向对象的 DateTime 类,它支持时区、时间加减等高级功能。
立即学习“PHP免费学习笔记(深入)”;
示例:
$datetime = new DateTime();
echo $datetime->format('Y-m-d H:i:s'); // 输出当前时间
设置特定时区:
$datetime = new DateTime('now', new DateTimeZone('Asia/Shanghai'));
echo $datetime->format('Y-m-d H:i:s');
获取时间戳
如果需要获取 Unix 时间戳(从1970年1月1日至今的秒数),可以使用以下方法:
-
time():返回当前时间戳
$timestamp = time(); // 如:1743835822 -
strtotime():将字符串转为时间戳
$time = strtotime('today'); // 今天零点的时间戳 -
DateTime::getTimestamp():
$dt = new DateTime();
echo $dt->getTimestamp();
注意事项
PHP默认使用服务器的时区,若显示时间不正确,需手动设置时区。
建议在脚本开头设置时区:
date_default_timezone_set('Asia/Shanghai');
可用时区参考:PHP官方时区列表
基本上就这些。用 date() 快速获取格式化时间,用 DateTime 处理复杂逻辑,再配合时区设置,就能满足大多数项目需求。











