PHP date函数参数详解:时间戳转换与格式化指南

今天早睡
今天早睡
发布时间:2026-10-14 | 3人浏览过
原创

在PHP开发中,处理时间和日期是常见需求。date()函数用于将Unix时间戳格式化为更易读的日期和时间字符串。本文将详细介绍该函数的语法、核心参数及其在实际场景中的应用。

理解Unix时间戳与date函数基础

PHP中的 time() 函数返回一个整数,表示从1970年1月1日(Unix纪元)到当前时间的秒数。这种设计便于进行时间计算。例如:

  • 前一天时间:time() - 60 * 60 * 24
  • 前一年时间:time() - 365 * 24 * 60 * 60(注意:原文公式有误,应为减法且闰年需特殊处理,此处仅做逻辑示意,实际计算建议使用 strtotime())

要将这些秒数转换为人类可读的格式,需要使用 date() 函数。其基本语法为:

$timestamp = time();
echo date("Y-m-d H:i:s", $timestamp);

常用日期时间格式化参数

date()函数的第一个参数是格式化字符串,其中包含代表不同时间元素的特定字符。以下是常用参数的详细解释:

第1步:年份表示

  • Y:四位数字年份,如 "1999"
  • y:两位数字年份,如 "99"

第2步:月份表示

  • m:数字月份,二位数字,不足补零,范围 "01"-"12"
  • n:数字月份,不补零,范围 1-12
  • M:三个英文字母缩写,如 "Jan"
  • F:月份的英文全名,如 "January"
  • t:指定月份的天数,范围 28-31

第3步:日期与星期

  • d:一个月的第几天,二位数字,不足补零,范围 "01"-"31"
  • j:一个月的第几天,不补零,范围 1-31
  • D:星期的三个英文字母缩写,如 "Fri"
  • l(小写L):星期的英文全名,如 "Friday"
  • w:数字型星期几,"0" 代表星期日,"6" 代表星期六
  • z:一年中的第几天,范围 "0"-"365"

第4步:小时与分钟秒

  • H:24小时制的小时,补零,范围 "00"-"23"
  • h:12小时制的小时,补零,范围 "01"-"12"
  • G:24小时制的小时,不补零,范围 0-23
  • g:12小时制的小时,不补零,范围 1-12
  • i:分钟,补零,范围 "00"-"59"
  • s:秒,补零,范围 "00"-"59"
  • a:上午或下午,小写 "am" 或 "pm"
  • A:上午或下午,大写 "AM" 或 "PM"

第5步:其他特殊字符

  • U:总秒数,等同于 time() 的输出
  • S:英文序数后缀,如 "th", "nd",但注意在PHP中该参数行为可能不稳定,通常建议直接拼接或使用strftime相关替代方案

任何不在上述列表中的字符都会按原样输出,这允许我们在日期格式中加入分隔符或标签,例如使用 Y年m月d日 得到中文格式的日期。

实战示例与注意事项

以下代码展示了如何将当前时间格式化为多种常用样式:

// 标准格式
$date1 = date("Y-m-d H:i:s"); // 2023-10-27 14:30:00

// 短日期
$date2 = date("y/m/d");       // 23/10/27

// 12小时制带上下午
$date3 = date("Y-m-d h:i:s A"); // 2023-10-27 02:30:00 PM

// 中文格式
$date4 = date("Y年m月d日 l");  // 2023年10月27日 Friday

需要注意的是,date()函数的默认时区依赖于服务器配置。如果显示的时间不正确,可以通过 date_default_timezone_set() 设置正确的时区,例如:

date_default_timezone_set("Asia/Shanghai");
以上就是PHP date函数参数详解的详细内容,更多关于PHP时间处理的知识请关注本站其它相关文章!
相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表