PHP 时间格式转换:strtotime 与 date 函数详解及示例

叶初
叶初
发布时间:2026-10-15 | 5人浏览过
原创

解决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日期处理技巧的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表