PHP有許多方便使用的函數來顯示及處理日期。 要以某種特定格式顯示日期或時間,可使用date()函數。它有兩個參數:如何顯示日期的格式以及代表你要顯示日期的時間戳記。這個時間戳記必須是先前所提及的從 1970 年算的總秒數(如果你要使用目前時間可使用time()函數,此函數會傳回「現在」的時間戳記)。 date() 有許多格式選項,如同C語言中的strftime()函數或Perl語言的POSIX::strftime()函數一樣。 $birthday_stamp = mktime(19,45,0,3,10,1975); $birthday_formatted = date('Firthd, Yday; echo "David was born on $birthday_formatted." ?> 會顯示 David was born on March 10, David was born on March 10, 1知的特定日期,這種複雜的格式函數並不會十分有用。因為你事先已經知道你的格式將會是什麼。當在處理需要使用者選擇某日期的表單輸出部分時,這些函數會比較有用: $d = time(); for ($i = 0; $i echo ''.date('F d',$d); $d = 86400; } ?>
以上會輸出一個單選框,其中有十個選項-今天及以後九天。在程式循環開始之前,我們將當前時間存放於變數$d中。每一個值會被顯示,而其中的值會是以Unix時間戳記計算,且所顯示的文字設定為月、日(“July 27”、“July 28”等等)。在顯示數值後,變數$d 會被加上 86,400(是一天二十四小時的總秒數-24小時*60分鐘*60秒)。 透過結合mktime()及date()函數,你就可以得出關於某特定使用者輸入日期的相關資訊。那如果要尋找從某特定日期算起的第一個星期日(或一週中的任一天)呢?首先,先寫一個會輸出適當格式的函數: functiondisplay_form() { global $PHP_SELF; $dotw =dayday,'SunPHP_SELF; $dotw =day,day,'SunPHP_SELF; $dotw =day,day'Sunday'Tday,day'Sunday'Tday ','Wednesday','Thursday', 'Friday','Saturday'); $months = array( 1 => 'January','February','March','April',' May','June', 'July','August','September','October','November','December'); ?> '; } ?> 這當中含有一些函數是我們到目前為止還沒討論過的。 $months數組寫得略不同,因為需要讓一月份索引為1,而非0。另外,由程式自動產生此表單要比將所有這個表單元素的值一一手動列出要更為輕鬆,因此,頂端的表單開始部分是display_form()函數中唯一不是屬於 PHP模式的。此外,使用資料(“Y”)設定變數$start_year以及變數$end_year能夠方便處理從今年算起十年前後的時間範圍。 以下是處理表單的函數: function process_form() { global $dotw; global$month5; year; $timestamp = mktime(0,0,0,$month,$day,$year); $next_dotw = ''; $next_$amp; 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 $9 首先,此程式碼將所得到的日期轉換為Unix時間戳形式。如果我們需要更謹慎的話,可以加入某些代碼以確保所得到的日期在合法的日期範圍內,不過在這此我們暫時沒有必要這樣做。 當我們要尋找的「下一天」的星期數不是使用者所輸入的一個星期數時,循環繼續。當不一樣時,日期所代表的總秒數就會被增加(同樣是86400秒=24小時*60分鐘*60秒),然後那個秒數所代表的星期數就會被重新計算。 一旦星期數一致,process_form() 函數就會輸出一行正確訊息: The first Sunday after June 25, 1999 is June 27, 1999. 1999 is June 27, 1999. 1999 is June 27, 1999. 函數捆綁在一起: if (empty($stage)) { display_form(); } else { process_form(); } else { process_form(); } else { process_form(); } ?>需要更為複雜以處理夏令時及不同時區,不過date()以及mktime()函數都是處理Unix時間戳變換的基本工具,它們在演算法上操作簡單,且以直觀方式表達日期與時間。函數date()以及mktime()以機器所在時區來對時間進行操作。如果想使用格林威治時間(GMT),則可使用函數gmdate()以及gmmktime()。 例如,對於一台處於美國東部夏令時的電腦(落後格林威治時間四小時): $today = mktime(12,0,0,6,25,1999 ); echo 'Here it is '.date('g:i:s a, F d, Y',$today); echo ''; echo 'Inis gmdate('g:i:s a, F d, Y',$today); ?> 顯示 Here it is 12:00:00 In GMT it is 4:00:00 pm, June 25, 1999
http://www.bkjia.com/PHPjc/317075.html www.bkjia.com
true
http: //www.bkjia.com/PHPjc/317075.html TechArticle PHP有許多便於使用的函數以顯示及處理日期。 若要以某種特定格式顯示日期或時間,可使用date()函數。它有兩個參數:如何顯示日期的格式以...