12 12
發新話題

[分享] 《分享》 PHP 『日期與時間函式庫』

《分享》 PHP 『日期與時間函式庫』

《分享》 PHP 『日期與時間函式庫』checkdate --- 有效的日期/時間

checkdate

(PHP3 , PHP4)

checkdate ---  有效的日期/時間

語法 : int checkdate (int month, int day, int year)

說明 :

如果給予的日期是有效的則傳回true ; 否則傳回false。依照參數來檢查日期的形式是否正確,有效的範圍為:

年-介於0至32767

月-介於1至12

日-給予的month允許的範圍內的日數,會考慮到閏年的變化


[ 本帖最後由 蔡逸竹 於 2006-10-2 23:04 編輯 ]

TOP

《分享》 PHP 『日期與時間函式庫』date --- 將本地的時間/日期格式化

date

(PHP3 , PHP4)

date ---  將本地的時間/日期格式化

語法 : string date (string format [, int timestamp])

說明 :

使用給予的timestamp按照格式化字串傳回一格式化字串,如果沒有給予timestamp則使用本地的時間。

以下是格式化字串中認定的字元:

a - "am" 或 "pm"

A - "AM" 或 "PM"

B - 網際網路時間樣本

d - 幾日,例如:" 01" 到 " 31"

D - 幾日,以3個英文字表示,例如:" Fri "

F - 幾月,以英文全名表示,例如:" January "

g - 小時,12小時制不足2位數不補0,例如:" 1" 到 " 12 "

G - 小時,24小時制不足2位數不補0,例如:" 0 " 到 " 23 "

h - 小時,12小時制,例如:" 01" 到 " 12 "

H - 小時,24小時制,例如:" 00 " 到 " 23 "

i - 幾分,例如:" 00 " 到 " 59 "

I (大寫的 i) - "1" if Daylight Savings Time, "0" otherwise.

j - 幾日,不足2位數不補0,例如:" 1" 到 " 31"

l (小寫的 'L') - 幾日,以英文全名表示,例如:"Friday"

L - 布林值,判斷是否為閏年,例如:" 0" 或 " 1"

m - 幾月,例如:" 01" 到 " 12"

M - 幾月,以3個英文字表示,例如:"Jan"

n - 幾月,不足2位數不補0,例如:" 1" 到 "12"

s - 幾秒,例如:" 01" 到 " 59"

S - 以英文後2個字表示,例如:"th","nd"

t - 當月的天數,例如:" 28" 到 " 31"

T - 這個機器的時間區域設定,例如 :"MDT"

U - 總秒數

w - 以數字表示星期幾,例如:" 0" 到 " 6"

Y - 幾年,以4位數表示,例如:" 1999"

y - 幾年,以2位數表示,例如:"99"

z - 一年中的第幾天,例如:" 0" 到 " 365"

Z - 在短時間內時間區域補償(timezone offset) ,例如:"-43200" to "43200"

在格式化字串中未被認出的字元將會被列出來,當使用gmdate( )時"Z"格式將總是傳回"0"。

Example :

<?php

   print (date ("l dS of F Y h:i:s A"));

   print ("July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000)));

?>

它可能會和date( )與mktime( )一起使用,來找出是將來或是過去的日期。

Example :

<?php

   $tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));

   $lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));

   $nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);

?>

將日期格式化成其它的語言(languages),你應該使用setlocal( )和strftime( )函式。

TOP

《分享》 PHP 『日期與時間函式庫』getdate --- 取得日期/時間資訊

getdate

(PHP3 , PHP4)

getdate ---  取得日期/時間資訊

語法 : array getdate (int timestamp)

說明 :

傳回組合的陣列,包含了timestamp的日期資訊,下列為陣列的元素:

"seconds" - 秒

"minutes" - 分

"hours" - 小時

"mday" - 月份的天數

"wday" - 星期的天數,數字的

"mon" - 月份,數字的

"year" - 年,數字的

"yday" - 年的天數,數字的,例如:" 299"

"weekday" - 星期的天數,文字的,例如:"Friday"

"month" - 月份,文字的,例如:" January"

TOP

《分享》 PHP 『日期與時間函式庫』gettimeofday --- 取得目前的時間

gettimeofday

(PHP3 >=3.0.7 , PHP4 >= 4.0b4)

gettimeofday ---  取得目前的時間

語法 : array gettimeofday (void)

說明 :

這是個gettimeofday(2)的介面,它從呼叫系統傳回一包含了資料的組合陣列。

"sec" - 秒

"usec" - 百萬分之一秒

"minuteswest" - 分,格林威治時間

"dsttime" - dst的型態修正

TOP

《分享》 PHP 『日期與時間函式庫』gmdate --- 取得目前的時間

gmdate

(PHP3 , PHP4)

gmdate ---  取得目前的時間

語法 : string gmdate (string format, int timestamp)

說明 :

和date( )相同,不同處在於這個函式傳回的是格林威治標準時間,例如當以下範例在芬蘭(GMT + 0200)執行時,下面的第一行會列出"Jan 01 1998 00:00:00",第二行會列出"Dec 31 1997 22:00:00"。

Example :

<?php

   echo date ("M d Y H:i:s", mktime (0,0,0,1,1,1998));

   echo gmdate ("M d Y H:i:s", mktime (0,0,0,1,1,1998));

?>

參考 : date( )  mktime( )  gmmktime( )

TOP

《分享》 PHP 『日期與時間函式庫』gmmktime - 取得UNIX時間戳記的格林威治時間

gmmktime

(PHP3 , PHP4)

gmmktime ---  取得UNIX時間戳記的格林威治時間

語法 : int gmmktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])

說明 :

和mktime( )相同,不同處在於參數是格林威治時間。

TOP

PHP 『日期與時間函式庫』gmstrftime - 按照場所設定將格林威治時間/日期格式化

gmstrftime

(PHP3 >= 3.0.12 , PHP4 >= 4.0RC2)

gmstrftime ---  按照場所設定將格林威治時間/日期格式化

語法 : string gmstrftime (string format, int timestamp)

說明 :

作用與strftime( )相同,不同處在於這個函式傳回的時間是格林威治標準時間,例如當執行在東部的標準時間(GMT -0500)時,下面的第一行會列出"Dec 31 1998 20:00:00",第二行會列出"Jan 01 1999 01:00:00"。

Example :

<?php

    setlocale ('LC_TIME', 'en_US');

    echo strftime ("%b %d %Y %H:%M:%S", mktime (20,0,0,12,31,98))."\n";

    echo gmstrftime ("%b %d %Y %H:%M:%S", mktime (20,0,0,12,31,98))."\n";

?>

參考 : strftime( )

TOP

《分享》 PHP 『日期與時間函式庫』localtime --- 取得當地時間

localtime

(PHP4 >= 4.0RC2)

localtime ---  取得當地時間

語法 : array localtime ([int timestamp [, bool is_associative]])

說明 :

localtime( )傳回一組合陣列,localtime( )的第一個參數是個timestamp,如果沒有給予則使用目前時間,如果將第二個參數設為0或者是沒有提供這個參數時,會傳回一正常的陣列,以數字表示陣列的索引值,如果設為1則localtime( )傳回一組合陣列,包含了個別的結構化的元素,下列是組合陣列的個別元素的名稱:

"tm_sec" - 秒

"tm_min" - 分

"tm_hour" - 時

"tm_mday" - 月份的天數

"tm_mon" - 年的月份

"tm_year" - 年, 不順從y2k

"tm_wday" - 星期的天數

"tm_yday" - 年的天數

"tm_isdst" - 在實行中是否為dst(daylight savings time)

TOP

PHP 『日期與時間函式庫』microtime - 傳回目前UNIX時間戳記的百萬分之一秒

microtime

(PHP3 , PHP4)

microtime ---  傳回目前UNIX時間戳記的百萬分之一秒

語法 : string microtime(void);

說明 :

傳回一字串"msec sec",sec是從Unix時期(0:00:00 January 1, 1970 GMT)到現在的總秒數,當作業系統提供gettimeofday( )系統呼叫時此函式才有效。

參考 : time( )

TOP

《分享》 PHP 『日期與時間函式庫』mktime --- 取得日期的UNIX時間戳記

mktime

(PHP3 , PHP4)

mktime ---  取得日期的UNIX時間戳記

語法 : int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])

說明 :

警告 : 此函式參數的順序和正規的Unix mktime( )中參數的順序不同,且不提供由右到左來省略參數,這是程式中常見的錯誤。

給予參數則傳回Unix時間戳記,此時間戳記是介於Unux時期(January 1 1970)與所指定的時間的總秒數,傳回的時間戳記是個長整數。

參數可以由右到左的順序中省略,任何參數以此方式省略時,將會被依照本地日期與時間設定成目前的值。

如果時間是在dst(daylight savings time)的整個期間,is_dst可以設為1;如果不是則設為0;如果不知道是否時間是在dst(daylight savings time)範圍內,則設為 -1(預設)。

注意 : is_dst增加於 3.0.10.

mktime( )有助於日期的計算與確認,它會自動地計算正確的值,例如 : 下列各行都將產生出字串"Jan-01-1998"。

Example :

<?php

   echo date ("M-d-Y", mktime (0,0,0,12,32,1997));

   echo date ("M-d-Y", mktime (0,0,0,13,1,1997));

   echo date ("M-d-Y", mktime (0,0,0,1,1,1998));

   echo date ("M-d-Y", mktime (0,0,0,1,1,98));

?>

year可以是二或是四個數字的值,值的範圍是0-69、2000-2069及70-99、1970-1999。

下個月的最後一天可由任何給予的月份表達成"0"來表示,下列範例都將產生出字串"The last day in Feb 2000 is: 29"。

Example :

<?php

   $lastday = mktime (0,0,0,3,0,2000);

   echo strftime ("Last day in Feb 2000 is: %d", $lastday);
     
   $lastday = mktime (0,0,0,4,-31,2000);

   echo strftime ("Last day in Feb 2000 is: %d", $lastday);   

?>

參考 : date( )  time( )

TOP

 12 12
發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。