PHP 时间格式转换:strtotime 与 date 函数详解及示例
解决PHP中时间格式不一致的问题,核心思路是利用 strtotime() 将原始时间字符串转换为数字型的时间戳,再利用 date() 函数将其重新格式化为可读的日期样式。
核心方法:双重函数配合
要实现时间格式的修改,通常需要两个步骤:首先解析,其次格式化。最经典的组合是 strtotime() 与 date()。
完整示例代码:
$date_string = $list['pubdate'];
$timestamp = strtotime($date_string);
$new_format_date = date("Y-m-d", $timestamp);
上述代码的作用是将变量 $list['pubdate'] 中的内容先转为时间戳,再以“年-月-日”的格式输出。
详细函数解析
第一步:解析时间字符串 - strtotime()
功能:
strtotime() 函数用于将任何英文文本的日期或时间描述(如 "now"、"+1 day" 或 "2023-10-01")解析为 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。这是后续处理的基础。
语法:
strtotime(time, now)
参数说明:
time:必需。规定要解析的时间字符串。例如 "2024-05-20 10:00:00"。now:可选。规定用来计算返回值的参照时间戳。如果省略该参数,则默认使用当前时间。
第二步:格式化时间戳 - date()
功能:
date() 函数可将获取到的 Unix 时间戳格式化为更具可读性的日期和时间字符串。它支持丰富的格式化选项。
语法:
date(format, timestamp)
参数说明:
format:必需。规定结果字符串的格式。常用的包括:
-Y:四位年份(如 2024)
-m:两位月份数字(01-12)
-d:两位月份中的天数(01-31)
-H:24小时制小时数
-i:分钟数
-s:秒数timestamp:可选。规定 Unix 时间戳。如果不填,默认使用当前时间。
实际应用案例
假设数据库读取出的发布时间字段 $pubdate 格式混乱,需要统一处理为标准格式显示:
// 假设 $pubdate 包含 'Oct 5, 2023'
echo date("Y/m/d", strtotime($pubdate));
// 输出: 2023/10/05
// 如果需要具体的时分秒
echo date("Y-m-d H:i:s", strtotime($pubdate));
// 输出: 2023-10-05 00:00:00 (若原时间无精确时刻)
通过这种组合方式,开发人员可以轻松应对各种前端展示需求下的时间格式调整问题。
以上就是PHP修改时间格式的详细内容,更多关于PHP日期处理技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













