天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中的日期及時(shí)間

php有很多便于使用的函數(shù)以顯示及處理日期。 
要以某種特定格式顯示日期或時(shí)間,可使用date()函數(shù)。它有兩個(gè)參數(shù):如何顯示日期的格式以及代表你所要顯示日期的時(shí)間戳。這個(gè)時(shí)間戳必須是先前所提到的從 1970 年起算的總秒數(shù)(如果你要使用當(dāng)前時(shí)間可使用time()函數(shù),此函數(shù)會(huì)返回“現(xiàn)在”的時(shí)間戳)。date() 有很多格式選項(xiàng),如同C語言中的strftime()函數(shù)或Perl語言的POSIX::strftime()函數(shù)一樣。 
<?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." 
?> 
會(huì)顯示 
David was born on March 10, 1975--7:45 p.m. 
當(dāng)然,如果你需要某已知的特定日期,這種復(fù)雜的格式函數(shù)并不會(huì)十分有用。因?yàn)槟闶孪纫呀?jīng)知道你的格式將會(huì)是什么。當(dāng)在處理需要用戶選擇某日期的表單輸出部分時(shí),這些函數(shù)會(huì)比較有用: 
<SELECT NAME="when"> 
<?php 
$d = time(); 
for ($i = 0; $i < 10; $i++) { 
echo '<OPTION VALUE="'.$d.'">'.date('F d',$d); 
$d += 86400; 

?> 
</SELECT> 
以上會(huì)輸出一個(gè)單選框,其中有十個(gè)選項(xiàng)――今天及以后九天。在程序循環(huán)開始之前,我們將當(dāng)前時(shí)間存放于變量$d中。每一個(gè)<OPTION>值會(huì)被顯示,而其中的值會(huì)是以Unix時(shí)間戳計(jì)算,且所顯示出來的文字設(shè)定為月、日(“July 27”、“July 28”等等)。在顯示值后,變量$d 會(huì)被加上 86,400(是一天二十四小時(shí)的總秒數(shù)――24小時(shí)*60分鐘*60秒)。 
通過結(jié)合mktime()及date()函數(shù),你就可以得出關(guān)于某特定用戶輸入日期的相關(guān)信息。那如果要尋找從某特定日期算起的第一個(gè)星期天(或者一周中的任意一天)呢?首先,先編寫一個(gè)會(huì)輸出適當(dāng)格式的函數(shù): 
<?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 <= $end_year; $i++) { 
echo "<OPTION> $i"; 

echo '<INPUT TYPE="HIDDEN" NAME="stage" VALUE="process">'; 
echo '</SELECT> <INPUT TYPE="SUBMIT" VALUE="Do it!"7></FORM>'; 

?> 
這當(dāng)中含有一些函數(shù)是我們到目前為止還沒討論過的。$months數(shù)組寫得略微不同,因?yàn)樾枰屢辉路菟饕秊?,而非0。另外,由程序自動(dòng)產(chǎn)生此表單要比將所有這個(gè)表單元素的值一一手動(dòng)列出要更為輕松,因此,頂端的表單開始部分是display_form()函數(shù)中唯一不是屬于 php模式的。此外,使用數(shù)據(jù)(“Y”)設(shè)置變量$start_year以及變量$end_year能夠方便處理從今年算起十年前后的時(shí)間范圍。 
以下是處理表單的函數(shù): 
<?php 
function process_form() { 
global $dotw; 
global $month; 
global $day; 
global $year; 
$timestamp = mktime(0,0,0,$month,$day,$year); 
$next_dotw = ''; 
$next_timestamp = $timestamp; 
while ($next_dotw != $dotw) { 
$next_timestamp += 86400; 
$next_dotw = date('l',$next_timestamp); 

$formatted_first = date('F d, Y',$timestamp); 
$formatted_next = date('F d, Y',$next_timestamp); 
echo "The first $dotw after $formatted_first is $formatted_next."; 

?> 
首先,此代碼將所得到的日期轉(zhuǎn)化為Unix時(shí)間戳形式。如果我們需要更為謹(jǐn)慎的話,可以加入某些代碼以確保所得到的日期在合法的日期范圍內(nèi),不過在這此我們暫時(shí)沒有必要這樣做。 
當(dāng)我們要尋找的“下一天”的星期數(shù)不是用戶所輸入的一個(gè)星期數(shù)時(shí),循環(huán)繼續(xù)。當(dāng)不一樣時(shí),日期所代表的總秒數(shù)就會(huì)被增加(同樣是86400秒=24小時(shí)*60分鐘*60秒),然后那個(gè)秒數(shù)所代表的星期數(shù)就會(huì)被重新計(jì)算。 
一旦星期數(shù)一致,process_form() 函數(shù)就會(huì)輸出一行正確消息: 
The first Sunday after June 25, 1999 is June 27, 1999. 
我們同樣需要那個(gè)熟悉的主循環(huán)將這些函數(shù)捆綁在一起: 
<?php 
if (empty($stage)) { display_form(); } 
else { process_form(); } 
?> 
日期處理代碼有時(shí)需要更為復(fù)雜以處理夏令時(shí)及不同時(shí)區(qū),不過date()以及mktime()函數(shù)都是處理Unix時(shí)間戳變換的基本工具,它們?cè)谒惴ㄉ喜僮骱?jiǎn)單,且以直觀方式表達(dá)日期與時(shí)間。函數(shù)date()以及mktime()以機(jī)器所在時(shí)區(qū)來對(duì)時(shí)間進(jìn)行操作。如果想使用格林威治時(shí)間(GMT),則可使用函數(shù)gmdate()以及gmmktime()。 
例如,對(duì)于一臺(tái)處于美國(guó)東部夏令時(shí)的計(jì)算機(jī)(落后格林威治時(shí)間四小時(shí)): 
<?php 
$today = mktime(12,0,0,6,25,1999); 
echo 'Here it is '.date('g:i:s a, F d, Y',$today); 
echo ''; 
echo 'In GMT it is '.gmdate('g:i:s a, F d, Y',$today); 
?> 
將顯示 
Here it is 12:00:00 pm, June 25, 1999 
In GMT it is 4:00:00 pm, June 25, 1999

php技術(shù)PHP中的日期及時(shí)間,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久国产精品福利影集 | 国产午夜伦鲁鲁 | 国产精品美女久久久久AV超清 | 在线AV国产传媒18精品免费 | 羲义嫁密着中出交尾gvg794 | 日韩精品一区VR观看 | 饥渴的40岁熟妇完整版在线 | 丝瓜涩涩屋黄瓜香蕉丝瓜 | 香蕉尹人综合精品 | 女的把腿张开男的往里面插 | 抽插嫩B乳无码漫 | 久久久无码精品亚洲A片软件 | 久色乳综合思思在线视频 | 扒开老师大腿猛进AAA片 | 国产精品伦一区二区三级视频 | 欧美日韩精品久久久免费观看 | 中文字幕无码亚洲视频 | 三级黄网站| 日本特交大片免费观看 | 中文字幕不卡在线视频 | 丰满的寡妇hd高清在线观看 | 成人国产精品免费网站 | 麻花传媒MD0044视频 | 国产精品久久久久久久久久免费 | 免费国产在线观看 | 成年人在线免费观看视频网站 | 久久合 | 色婷婷五月综合久久中文字幕 | 亚洲免费无码中文在线亚洲在 | 亚洲日韩天堂在线中文字幕 | 国产成人一区免费观看 | 亚洲AV久久久噜噜噜久久 | 午夜国产精品免费观看 | 伊人电院网 | 俄罗斯9一14 young处 | S货SAO死你BL大点声叫BL | 色狠狠xx | 久久永久免费视频 | 芳草地在线观看免费视频 | 天堂岛www天堂资源在线 | 伊人大香人妻在线播放 |