PHP獲取當(dāng)前時間的5種實現(xiàn)方式
在日期和時間函數(shù)中,UNIX 時間戳的獲取非常重要,時間戳是一個字符序列,是指格林尼治時間 1970年 01 月 01 日 00 時 00 分 00 秒(北京時間 1970 年 01 月 01 日 08 時 00 分 00 秒)起至現(xiàn)在的總毫秒數(shù)。下面介紹幾個獲取當(dāng)前時間的函數(shù)。
gmmktime()gmmktime() 函數(shù)可取得 GMT 日期的 UNIX 時間戳。語法如下:
int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
該函數(shù)的參數(shù)可以從右到左依次空著,空著的參數(shù)會被設(shè)為相應(yīng)的當(dāng)前 GMT 值。
使用示例如下:
<?phpecho gmmktime(); //沒有設(shè)置參數(shù), 則默認取得當(dāng)前GMT時間echo gmmktime(0,45,3,7,7,2016); //設(shè)置參數(shù)表示GMT時間2016年7月7日0點45分3秒?>
執(zhí)行以上程序的打印結(jié)果為:1467909956 1467852303
mktime()mktime() 也可取得一個日期的 UNIX 時間戳。語法如下:
int mktime ([ int $hour = date('H') [, int $minute = date('i') [, int $second = date('s') [, int $month = date('n') [, int $day = date('j') [, int $year = date('Y') [, int $is_dst = -1 ]]]]]]] )
該函數(shù)根據(jù)給出的參數(shù)返回 UNIX 時間戳。時間戳是一個長整數(shù),包含了從 UNIX 紀元到給定時間的秒數(shù)。
和 gmmktime() 函數(shù)一樣,該函數(shù)的參數(shù)也可以從右向左省略,任何省略的參數(shù)會被設(shè)置成本地日期和時間的當(dāng)前值。
使用示例如下:
<?phpecho mktime(); // 沒有設(shè)置參數(shù)則默認取得當(dāng)前GMT時間echo mktime(0,45,3,7,7,2016); //設(shè)置參數(shù)表示GMT時間2016年7月7日0點45分3秒?>
執(zhí)行以上程序的打印結(jié)果為:1467910465 1467852303
microtime()microtime() 可獲得當(dāng)前 UNIX 時間戳和微秒數(shù)。語法如下:
mixed microtime ([ bool $get_as_float ] )
如果設(shè)置 get_as_float 參數(shù)值為 true,microtime() 將返回一個浮點數(shù);若不帶參數(shù),則返回一個“msec sec”格式的字符串,其中 sec 是自 UNIX 紀元起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
使用示例如下:
<?phpecho microtime(); //返回 msec sec 格式字符串表示時間echo '<br/>';echo microtime(true); //返回一個浮點型字符串表示時間?>
執(zhí)行以上程序的打印結(jié)果如下:0.40474900 14679108621467910862.4048
time()time() 函數(shù)可返回當(dāng)前的 UNIX 時間戳。語法如下:
int time ( void )
time() 函數(shù)的語法比較簡單,使用示例如下:
<?phpecho time();?>
執(zhí)行以上程序的打印結(jié)果為:1467911104
getdate()getdate() 可取得日期時間信息。語法如下:
array getdate ([ int $timestamp = time() ] )
該函數(shù)返回一個根據(jù) timestamp 得出的包含有日期信息的關(guān)聯(lián)數(shù)組 array。如果沒有給出時間戳,則認為是當(dāng)前本地時間(此時和 time() 函數(shù)取值相同)。
其返回的關(guān)聯(lián)數(shù)組中的鍵名單元如表所示。
getdate() 函數(shù)返回關(guān)聯(lián)數(shù)組鍵名
鍵名 說明 返回值例子 seconds 秒的數(shù)字表示 0 到 59 minutes 分鐘的數(shù)字表示 0 到 59 hours 小時的數(shù)字表示 0 到 23 mday 月份中第幾天的數(shù)字表示 1 到 31 wday 星期中第幾天的數(shù)字表示 0(周日)到6(周六) mon 月份的數(shù)字表示 1 到 12 year 4 位數(shù)字表示的完整年份 比如:1999 或 2019 yday 一年中第幾天的數(shù)字表示 0 到 365 weekday 星期幾的完整文本表示 Monday 到 Sunday month 月份的完整文本表示,,比如 January 或 April January 到 December 0 自從 UNIX 紀元開始至今的秒數(shù),和 time() 的返回值以及用于 date() 的值類似 系統(tǒng)相關(guān),典型值為 -2147483648 ~ 2147483647
getdate() 函數(shù)的使用示例如下:
<?phpecho '<pre>';var_dump(getdate());?>
執(zhí)行以上程序的打印結(jié)果如下:array(11) { ['seconds']=>int(57) ['minutes']=>int(18) ['hours']=>int(17) ['mday']=>int(7) ['wday']=>int(4) ['mon']=>int(7) ['year']=>int(2016) ['yday']=>int(188) ['weekday']=>string(8) 'Thursday' ['month']=>string(4) 'July' [0]=>int(1467911937)}
到此這篇關(guān)于PHP獲取當(dāng)前時間的5種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)PHP獲取當(dāng)前時間內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
