手册目录

PHP课程

浏览10535
更新时间2025-08-06

PHP Date() 函数

PHP 的 date() 函数将时间戳格式化为更易读的日期和时间。

语法

date(format,timestamp)
参数 描述
format 必需。指定时间戳的格式。
timestamp

可选。指定一个时间戳。默认为当前日期和时间。

时间戳是一系列字符,表示某个事件发生时的日期和/或时间。

注释:时间戳是一串字符序列,表示某一事件发生的日期和/或时间。

获取日期

date() 函数的必需格式参数指定了如何格式化日期(或时间)。

以下是一些常用于日期的字符:

  • d - 表示月份中的第几天(01 到 31)
  • m - 表示月份(01 到 12)
  • Y - 表示年份(四位数字)
  • l - 表示星期几(小写 'L')

其他字符,如 "/", ".", 或 "-" 也可以插入字符之间以添加其他格式。

下面的例子以三种不同的方式格式化今天的日期:

实例

<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP 提示 - 自动更新版权年份

使用 date() 函数自动更新您网站上的版权年份:

实例

© 2010-<?php echo date("Y");?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

获取时间

以下是一些常用于时间的字符:

  • H - 24 小时制的小时(00 到 23)
  • h - 12 小时制的小时(01 到 12),前面有零
  • i - 分钟(00 到 59),前面有零
  • s - 秒(00 到 59),前面有零
  • a - 小写的上午和下午(am 或 pm)

下面的例子以指定格式输出当前时间:

实例

<?php
echo "The time is " . date("h:i:sa");
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

注意:PHP 的 date() 函数将返回服务器上的当前日期/时间!

获取您的时区

如果您从代码中获取的时间不正确,可能是因为您的服务器位于另一个国家或设置为不同的时区。

因此,如果您需要根据特定位置使时间正确,您可以设置要使用的时区。

下例将时区设置为 "America/New_York",然后以指定格式输出当前时间:

实例

<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

使用 mktime() 创建日期

date() 函数中的可选时间戳参数指定了一个时间戳。如果省略,将使用当前日期和时间(如上面的示例所示)。

PHP 的 mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)和指定时间之间的秒数。

语法

mktime(hour, minute, second, month, day, year)

下面的例子使用 mktime() 函数中的一系列参数,通过 date() 函数创建日期和时间:

实例

<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

使用 strtotime() 从字符串创建日期

PHP 的 strtotime() 函数用于将人类可读的日期字符串转换为 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 GMT 起的秒数)。

语法

strtotime(time, now)

下面的例子从 strtotime() 函数中创建日期和时间:

实例

<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP 在将字符串转换为日期方面相当聪明,因此您可以输入各种值:

实例

<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

但是,strtotime() 并不完美,因此请记得检查您放入其中的字符串。

更多日期示例

下例输出未来六个星期六的日期:

实例

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);

while ($startdate < $enddate) {
  echo date("M d", $startdate) . "<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

下例输出直到 7 月 4 日的天数:

实例

<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

完整的 PHP 日期参考手册

如需查看所有日期函数的完整参考,请转到我们的完整 PHP 日期参考手册。

该参考手册包含每个函数的简短描述和用法实力!

相关视频

更多

免费

php8,我来也
初级php8,我来也

321890次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382490次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282951次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13419次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.8万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号