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 值。
使用示例如下:
<?php echo 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 紀(jì)元到給定時間的秒數(shù)。
和 gmmktime() 函數(shù)一樣,該函數(shù)的參數(shù)也可以從右向左省略,任何省略的參數(shù)會被設(shè)置成本地日期和時間的當(dāng)前值。
使用示例如下:
<?php echo 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 紀(jì)元起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
使用示例如下:
<?php echo microtime(); //返回 msec sec 格式字符串表示時間 echo "<br/>"; echo microtime(true); //返回一個浮點型字符串表示時間 ?>
執(zhí)行以上程序的打印結(jié)果如下:
0.40474900 1467910862
1467910862.4048
time()
time() 函數(shù)可返回當(dāng)前的 UNIX 時間戳。語法如下:
int time ( void )
time() 函數(shù)的語法比較簡單,使用示例如下:
<?php echo 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 紀(jì)元開始至今的秒數(shù),和 time() 的返回值以及用于 date() 的值類似 | 系統(tǒng)相關(guān),典型值為 -2147483648 ~ 2147483647 |
getdate() 函數(shù)的使用示例如下:
<?php echo "<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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php權(quán)限調(diào)整強制用戶退出的解決步驟
這篇文章主要介紹了php權(quán)限調(diào)整強制用戶退出的解決步驟,當(dāng)用戶登錄時,將用戶的登錄狀態(tài)和其他相關(guān)信息存儲在服務(wù)器端,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2023-09-09thinkphp3.2框架中where條件查詢用法總結(jié)
這篇文章主要介紹了thinkphp3.2框架中where條件查詢用法,總結(jié)分析了thinkphp3.2中where條件查詢中常用的各種查詢條件、以及各種復(fù)合查詢實現(xiàn)方法,需要的朋友可以參考下2019-08-08php框架CI(codeigniter)自動加載與自主創(chuàng)建對象操作實例分析
這篇文章主要介紹了php框架CI(codeigniter)自動加載與自主創(chuàng)建對象操作,結(jié)合實例形式分析了codeigniter框架自動加載與自主創(chuàng)建對象相關(guān)原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2020-06-06PHP 計算至少是其他數(shù)字兩倍的最大數(shù)的實現(xiàn)代碼
這篇文章主要介紹了PHP 計算至少是其他數(shù)字兩倍的最大數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05