PHP中查出当前的日期和时间
在PHP中我们可以使用strftime()或date()函数来得到一个格式化的字符串,如下面的例子就查出当前的日期和时间
<?php
print strftime('%c');
print "\n";
print date('r');
?>
输出结果:
Wed May 10 18:29:59 2006
Wed, 10 May 2006 18:29:59 -0400
如果想要的是时间部件,那么使用getdate()或localtime()函数。下面的例子中显示了如何使用这两个函数。
<?php
$now_1 = getdate();
$now_2 = localtime();
print "{$now_1['hours']}:{$now_1['minutes']}:{$now_1['seconds']}\n";
print "$now_2[2]:$now_2[1]:$now_2[0]";
输出结果
18:23:45
18:23:45
函数strftime()和date()可以生成多种格式的时间和日期字符串,而localtime()和getdate()函数,则返回一个数组,这个数组中的元素分别保存着指定的日期和时间的特定部分。
getdate()函数返回的关联数组中的“键/值对”如下表所示。
键 值
seconds 秒数
minutes 分钟数
hours 小时数
mday 一月中的第几天
wday 一周中的第几天,数字值(周日是0,周六是6)
mon 月份
year 年份,数字(4位)
yday 一年中的第几天,数字(例如:299)
weekday 一周中的第几天,文本(例如:"Friday“)
month 月份,文本,全称(例如:"January")
0 自纪元起的秒数(即time()函数的返回值)
下例用getdate()函数输出月、日和年
<?php
$a = getdate();
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
?>
输出结果
May 5, 2007
给getdate()函数传递一个纪元时间戳作为参数,可以使返回的数组中包含符合这个时间戳的本地时间值。如下面的例子中显示了位于时间戳163727100的月、日和年数。
<?php
$a = getdate(163727100);
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
?>
输出结果:
March 10, 1975
函数localtime()返回一个包含时间和日期部件的数组。它同样以一个纪元时间戳作为可选的第一个参数,也将一个布尔值作为可选的第二个参数。如果这第二个参数是true,localtime()会返回一个关联数组而不是一个数字索引的数组。这个关联数组的键与C函数localtime()返回的tm_struct结构的成员相同,如下表所示。
数字 位置 键值
0 tm_sec 秒
1 tm_min 分
2 tm_hour 时
3 tm_mday 一月中的第几天
4 tm_mon 一年中的月份(0表示1月)
5 tm_year 自1900年起经过的年数
6 tm_wday 一周中的第几天(表示星期六)
7 tm_day 一年中的第几天
8 tm_isdst 夏令时是否有效?
下例中显示了如何使用localtime()函数以“月/日/年”的格式输出今天的日期。
<?php
$a = localtime();
$a[4] += 1;
$a[5] += 1900;
print "$a[4]/$a[3]/$a[5]";
输出结果
6/23/2006
由于localtime()从0开始算一月份,而我们希望如实地显示当前的月份,所以在月份数输出之前要加1。同样地,年份要加上1900是因为localtime()函数用0表示1900年。
好了,PHP中查出当前的日期和时间就介绍到这里了。
转载请注明原文:http://www.itivy.com/php/archive/2012/2/19/php-localtime-getdate.html