最新的Web开发教程
 

PHP 5日期和时间


PHP的date()函数用于格式化的日期和/或时间。


PHP的Date()函数

PHP的date()函数格式化的时间戳到一个更可读的日期和时间。

句法

date( 参数 描述 format 需要。 指定时间戳记的格式 timestamp 可选的。 指定一个时间戳。 默认为当前日期和时间

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


得到一个简单的日期

所需的format的参数的date()函数指定如何格式化日期(or time)

下面列举了一些常用的日期一些字符:

  • d -表示该月的一天(01 to 31)
  • 米-代表一个月(01 to 12)
  • Ÿ -表示年份(in four digits)
  • (lowercase '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()函数来自动更新版权年份在您的网站:

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

得到一个简单的时间

下面是常用于次一些字符:

  • ħ -一小时的12小时格式与前导零(01 to 12)
  • -分钟前导零(00 to 59)
  • 秒-秒前导零(00 to 59)
  • 一个-小写安特meridiem和Post meridiem (am or 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");
?>
运行示例»

创建日期在PHP mktime()

可选的timestamp在参数date()函数指定的时间戳。 如果不指定时间戳,当前日期和时间将被用于(如图上面的例子)。

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

句法

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

下面的示例创建从多个参数的日期和时间在mktime()函数:

<?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()函数:

<?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()是不完美的,所以记得要检查你摆在那里的字符串。


更多日期示例

下面的示例输出在接下来的6个星期六日期:

<?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日期参考

该手册包含了简要说明,并使用实例,每个功能!