這篇文章給大家分享的是PHP中如何獲取當(dāng)前時(shí)間的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,下文給介紹了五種實(shí)現(xiàn)方式,文中示例代碼介紹的非常詳細(xì),感興趣的朋友接下來一起跟隨小編看看吧。
在日期和時(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ù)會被設(shè)為相應(yīng)的當(dāng)前 GMT 值。
使用示例如下:
<?php echo 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ù)會被設(shè)置成本地日期和時(shí)間的當(dāng)前值。
使用示例如下:
<?php echo 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 是微秒部分。字符串的兩部分都是以秒為單位返回的。
使用示例如下:
<?php echo microtime(); //返回 msec sec 格式字符串表示時(shí)間 echo "<br/>"; echo microtime(true); //返回一個(gè)浮點(diǎn)型字符串表示時(shí)間 ?>
執(zhí)行以上程序的打印結(jié)果如下:
0.40474900 1467910862
1467910862.4048
time()
time() 函數(shù)可返回當(dāng)前的 UNIX 時(shí)間戳。語法如下:
int time ( void )
time() 函數(shù)的語法比較簡單,使用示例如下:
<?php echo 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ù)的使用示例如下:
<?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)前時(shí)間的方法就介紹到這,上述示例具有一定的借鑒價(jià)值,感興趣的朋友可以參考,希望能對大家有幫助,想要了解更多PHP的內(nèi)容,大家可以關(guān)注其它的相關(guān)文章。