php时间格式化需用date()函数配合格式符(如y-m-d h:i:s),strtotime()解析自然语言日期,date_default_timezone_set()设时区,getdate()返回结构化数组,datetime类支持面向对象操作。

如果您在 PHP 中需要将时间戳转换为可读的日期字符串,或对当前/指定时间进行格式化输出,则需依赖 date() 等核心函数及其参数组合。以下是实现该目标的具体方法:
一、使用 date() 函数基础格式化
date() 是 PHP 最常用的时间格式化函数,它接收格式字符串和可选时间戳参数,将 Unix 时间戳转换为指定样式的本地时间字符串。若未提供时间戳,默认使用当前系统时间(即 time() 返回值)。
1、编写 PHP 脚本,调用 date() 函数并传入格式参数,例如:date("Y-m-d H:i:s")
2、在双引号中填入所需格式符,如 "Y" 表示四位年份、"m" 表示带前导零的月份、"d" 表示带前导零的日期、"H:i:s" 表示24小时制时分秒
3、执行脚本后,将输出类似 2026-04-18 15:31:00 的字符串
二、通过 strtotime() 解析任意日期字符串为时间戳
当输入为自然语言形式的日期描述(如“明天”、“+3 days”、“2026年5月1日”)时,需先用 strtotime() 将其转为整型时间戳,再交由 date() 格式化,以支持灵活的时间表达。
1、调用 strtotime() 并传入字符串参数,例如:strtotime("next Saturday")
2、将返回的时间戳作为第二个参数传给 date(),例如:date("Y年m月d日", strtotime("next Saturday"))
3、执行后可能得到结果:2026年04月25日
三、设置并使用时区确保时间准确性
PHP 默认使用服务器本地时区,若需显示特定地区时间(如北京时间、纽约时间),必须显式设定时区,否则 date() 输出可能与预期不符。
1、在脚本开头调用 date_default_timezone_set("Asia/Shanghai")
2、确认时区已生效,可使用 date_default_timezone_get() 获取当前设定
3、再次调用 date(),输出将基于所设时区计算,例如北京时间比 UTC 快8小时
四、使用 getdate() 获取结构化时间数组
getdate() 不直接返回字符串,而是返回包含年、月、日、时、分、秒等键名的关联数组,适用于需要分别提取各时间单位的场景,如构建自定义逻辑或条件判断。
1、调用 getdate(),不传参则基于当前时间,传入时间戳则基于该时刻
2、访问返回数组中的元素,例如:$arr = getdate(); echo $arr['year'] . "年" . $arr['mon'] . "月";
3、输出形如:2026年4月
五、利用 DateTime 类进行面向对象式格式化
DateTime 提供更现代、可链式调用的时间处理方式,支持时区切换、加减运算及多种格式化方法,适合复杂业务中替代过程式 date() 调用。
1、实例化 DateTime 对象,可传入时间字符串或留空表示当前时间:$dt = new DateTime("2026-04-18");
2、调用 setTimezone() 切换时区,例如:$dt->setTimezone(new DateTimeZone("America/New_York"));
3、使用 format() 方法输出:echo $dt->format("Y-m-d H:i:s");
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











