PHP中的日期及时间


PHP有很多便于使用的函数以显示及处理日期。



要以某种特定格式显示日期或时间,可使用date()函数。它有两个参数:如何显示日期的格式以及代表你所要显示日期的时间戳。这个时间戳必须是先前所提到的从 1970 年起算的总秒数(如果你要使用当前时间可使用time()函数,此函数会返回“现在”的时间戳)。date() 有很多格式选项,如同C语言中的strftime()函数或Perl语言的POSIX::strftime()函数一样。

<?php

$birthday_stamp = mktime(19,45,0,3,10,1975);

$birthday_formatted = date(''F d, Y - g:ia'',$birthday_stamp);

echo "David was born on $birthday_formatted."

?>

会显示

David was born on March 10, 1975--7:45 p.m.


当然,如果你需要某已知的特定日期,这种复杂的格式函数并不会十分有用。因为你事先已经知道你的格式将会是什么。当在处理需要用户选择某日期的表单输出部分时,这些函数会比较有用:

<SELECT NAME="when">

<?php

$d = time();

for ($i = 0; $i < 10; $i++) {

echo ''<OPTION VALUE="''.$d.''">''.date(''F d'',$d);

$d += 86400;

}

?>

</SELECT>

以上会输出一个单选框,其中有十个选项——今天及以后九天。在程序循环开始之前,我们将当前时间存放于变量$d中。每一个<OPTION>值会被显示,而其中的值会是以Unix时间戳计算,且所显示出来的文字设定为月、日(“July 27”、“July 28”等等)。在显示值后,变量$d 会被加上 86,400(是一天二十四小时的总秒数——24小时*60分钟*60秒)。

通过结合mktime()及date()函数,你就可以得出关于某特定用户输入日期的相关信息。那如果要寻找从某特定日期算起的第一个星期天(或者一周中的任意一天)呢?首先,先编写一个会输出适当格式的函数:

<?php

functiondisplay_form() {

global $PHP_SELF;

$dotw = array(''Sunday'',''Monday'',''Tuesday'',''Wednesday'',''Thursday'',

''Friday'',''Saturday'');

$months = array( 1 => ''January'',''February'',''March'',''April'',''May'',''June'',

''July'',''August'',''September'',''October'',''November'',''December'');

?>

<FORM TARGET="<?php echo $PHP_SELF; ?>" METHOD=GET>

Find the first

<SELECT NAME="dotw">

<?php

for ($i = 0; $i < 7; $i++) {

echo "<OPTION> $dotw[$i]";

}

echo ''</SELECT> after <SELECT NAME="month">'';

for ($i = 1; $i <= 12; $i++) {

echo "<OPTION VALUE=\"$i\"> $months[$i]";

}

echo ''</SELECT> <SELECT NAME="day">'';

for ($i = 1; $i <= 31; $i++) {

echo "<OPTION> $i";

}

echo ''</SELECT>, <SELECT NAME="year">'';

$start_year = date(''Y'') - 10;

$end_year = $start_year + 20;

for ($i = $start_year; $i
Copyright © 2008 chengduxinxi.com All Rights Reserved PHP编程开发 由朝夕网络维护