W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

PHP 日期



PHP date() 函数用来格式化日期/时间。


PHP Date() 函数

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

语法

date(format,timestamp)
参数 描述
format 必需。规定时间戳的格式。
timestamp 可选。规定时间戳。默认是当前的日期和时间。

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


获取简单的日期

date() 函数的格式参数是必需的,它们规定如何格式化日期或时间。

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

  • d - 表示月里的某天 (01 - 31)
  • m - 表示月 (01 - 12)
  • Y - 表示年 (4位数字)
  • l (小写的 'L') - 表示周里的某天

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

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

Example

<?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() 函数在您的网站上自动更新版权年份:

Example

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

获取简单的时间

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

  • h - 带有首位零的 12 小时小时格式 (01 - 12)
  • i - 带有首位零的分钟 (00 - 59)
  • s - 带有首位零的秒 (00 - 59)
  • a - 小写的午前和午后 (am 或 pm)

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

Example

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

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


获取时区

如果从代码返回的不是正确的时间,有可能是因为您的服务器位于其他国家或者被设置为不同时区。

因此,如果您需要基于具体位置的准确时间,您可以设置要用的时区。

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

Example

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

通过 PHP mktime() 创建日期

date() 函数中可选的时间戳参数规定时间戳。如果您未规定时间戳,将使用当前日期和时间(正如上例中那样)。

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

语法

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

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

Example

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

通过 PHP strtotime() 用字符串来创建日期

PHP strtotime() 函数用于把人类可读的字符串转换为 Unix 时间。

语法

strtotime(time,now)

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

Example

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

PHP 在将字符串转换为日期这方面非常聪明,所以您能够使用各种值:

Example

<?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() 并不完美,所以请记得检查放入其中的字符串。


更多日期实例

下例输出下周六的日期:

Example

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

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

下例输出七月四日之前的天数:

Example

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

完整的 PHP Date 参考手册

如需查看所有日期函数的完整参考手册,请访问我们的 完整的 PHP Date 参考手册

该参考手册提供了每个函数的简要描述和应用实例!