PHP獲取當(dāng)前時(shí)間的5種實(shí)現(xiàn)方式
在日期和時(shí)間函數(shù)中,UNIX 時(shí)間戳的獲取非常重要,時(shí)間戳是一個(gè)字符序列,是指格林尼治時(shí)間 1970年 01 月 01 日 00 時(shí) 00 分 00 秒(北京時(shí)間 1970 年 01 月 01 日 08 時(shí) 00 分 00 秒)起至現(xiàn)在的總毫秒數(shù)。下面介紹幾個(gè)獲取當(dāng)前時(shí)間的函數(shù)。
gmmktime()gmmktime() 函數(shù)可取得 GMT 日期的 UNIX 時(shí)間戳。語法如下:
int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
該函數(shù)的參數(shù)可以從右到左依次空著,空著的參數(shù)會(huì)被設(shè)為相應(yīng)的當(dāng)前 GMT 值。
使用示例如下:
<?phpecho gmmktime(); //沒有設(shè)置參數(shù), 則默認(rèn)取得當(dāng)前GMT時(shí)間echo gmmktime(0,45,3,7,7,2016); //設(shè)置參數(shù)表示GMT時(shí)間2016年7月7日0點(diǎn)45分3秒?>
執(zhí)行以上程序的打印結(jié)果為:1467909956 1467852303
mktime()mktime() 也可取得一個(gè)日期的 UNIX 時(shí)間戳。語法如下:
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í)間戳。時(shí)間戳是一個(gè)長整數(shù),包含了從 UNIX 紀(jì)元到給定時(shí)間的秒數(shù)。
和 gmmktime() 函數(shù)一樣,該函數(shù)的參數(shù)也可以從右向左省略,任何省略的參數(shù)會(huì)被設(shè)置成本地日期和時(shí)間的當(dāng)前值。
使用示例如下:
<?phpecho mktime(); // 沒有設(shè)置參數(shù)則默認(rèn)取得當(dāng)前GMT時(shí)間echo mktime(0,45,3,7,7,2016); //設(shè)置參數(shù)表示GMT時(shí)間2016年7月7日0點(diǎn)45分3秒?>
執(zhí)行以上程序的打印結(jié)果為:1467910465 1467852303
microtime()microtime() 可獲得當(dāng)前 UNIX 時(shí)間戳和微秒數(shù)。語法如下:
mixed microtime ([ bool $get_as_float ] )
如果設(shè)置 get_as_float 參數(shù)值為 true,microtime() 將返回一個(gè)浮點(diǎn)數(shù);若不帶參數(shù),則返回一個(gè)“msec sec”格式的字符串,其中 sec 是自 UNIX 紀(jì)元起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
使用示例如下:
<?phpecho microtime(); //返回 msec sec 格式字符串表示時(shí)間echo '<br/>';echo microtime(true); //返回一個(gè)浮點(diǎn)型字符串表示時(shí)間?>
執(zhí)行以上程序的打印結(jié)果如下:0.40474900 14679108621467910862.4048
time()time() 函數(shù)可返回當(dāng)前的 UNIX 時(shí)間戳。語法如下:
int time ( void )
time() 函數(shù)的語法比較簡單,使用示例如下:
<?phpecho time();?>
執(zhí)行以上程序的打印結(jié)果為:1467911104
getdate()getdate() 可取得日期時(shí)間信息。語法如下:
array getdate ([ int $timestamp = time() ] )
該函數(shù)返回一個(gè)根據(jù) timestamp 得出的包含有日期信息的關(guān)聯(lián)數(shù)組 array。如果沒有給出時(shí)間戳,則認(rèn)為是當(dāng)前本地時(shí)間(此時(shí)和 time() 函數(shù)取值相同)。
其返回的關(guān)聯(lián)數(shù)組中的鍵名單元如表所示。
getdate() 函數(shù)返回關(guān)聯(lián)數(shù)組鍵名
鍵名 說明 返回值例子 seconds 秒的數(shù)字表示 0 到 59 minutes 分鐘的數(shù)字表示 0 到 59 hours 小時(shí)的數(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ù)的使用示例如下:
<?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)前時(shí)間的5種實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)PHP獲取當(dāng)前時(shí)間內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Gitlab CI-CD自動(dòng)化部署SpringBoot項(xiàng)目的方法步驟2. JS sort方法基于數(shù)組對(duì)象屬性值排序3. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……4. JAVA上加密算法的實(shí)現(xiàn)用例5. Django-migrate報(bào)錯(cuò)問題解決方案6. ajax請(qǐng)求添加自定義header參數(shù)代碼7. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)8. 使用Python和百度語音識(shí)別生成視頻字幕的實(shí)現(xiàn)9. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式10. 基于javascript處理二進(jìn)制圖片流過程詳解
