在之前的文章中給大家?guī)砹恕禤HP中應該怎樣去完成時區(qū)的設置?》,其中給大家介紹了怎樣在PHP中設置時區(qū)的幾種方法,本篇文章我們繼續(xù)來看一看PHP的相關知識,我們在PHP中應該如何獲取當前的時間,希望對大家有幫助!
在PHP中的日期和時間函數(shù)里,想要獲取到當前的時間,我們就需要了解什么是UNIX時間戳。
UNIX 時間戳表示的是,自1970年1月1日0時0分0秒(格林尼治時間)起到現(xiàn)在時刻的總秒數(shù)。下面就給大家介紹一下可以獲取當前時間的幾種函數(shù)
-
time()
函數(shù)
time()函數(shù)算是最簡單的一個獲取當前時間的函數(shù)了,它能夠返回當前時間的UNIX時間戳。示例如下:
<?php echo time(); ?>
當我運行函數(shù)時的時間在2021年10月21日10時50分左右,輸出結(jié)果如下:
-
mktime()
函數(shù)
mktime()函數(shù)不僅能夠返回當前時間的UNIX時間戳,也可以返回指定時間的UNIX時間戳,它的語法格式如下:
mktime(指定時間時,指定時間分,指定時間秒,指定時間月,指定時間日,指定時間年)
該函數(shù)的參數(shù)可以從右向左省略,任何省略的參數(shù)會被設置成本地日期和時間的當前值。
獲得當前時間的UNIX時間戳,示例如下:
<?php echo mktime(); // 沒有設置參數(shù)則默認取得當前GMT時間 ?>
輸出結(jié)果:
獲得指定時間的UNIX時間戳,示例如下:
<?php echo mktime(11,0,0,10,21,2021); //設置參數(shù)表示GMT時間2021年10月21日11點0分0秒 ?>
輸出結(jié)果:
-
gmmktime()
函數(shù)
gmmktime() 函數(shù)一樣也可取得 GMT 日期的 UNIX 時間戳,它的語法格式如下:
gmmktime(指定時間時,指定時間分,指定時間秒,指定時間月,指定時間日,指定時間年)
它和mktime一樣可以從右向左省略,任何省略的參數(shù)都會被設置成本地日期的當前值。
示例如下:
<?php echo gmmktime(); //沒有設置參數(shù), 則默認取得當前GMT時間 ?>
輸出結(jié)果:
由上述示例看出,當所有參數(shù)省略后,參數(shù)都被設置成了當前時區(qū)當前時間的參數(shù),因此輸出了當前時間的UNIX時間戳。
<?php echo gmmktime(0,0,0,10,21,2021); ?>
輸出結(jié)果:
由上述示例能夠看出,通過gmmktime()函數(shù)可以獲取指定時間的UNIX時間戳。
-
microtime()
函數(shù)
microtime()函數(shù)可以返回當前UNIX時間戳的微秒數(shù),它的語法如下:
microtime ($get_as_float )
示例如下:
<?php echo microtime(); ?>
輸出結(jié)果:
由上述示例看出,通過microtime函數(shù)可以輸出微秒數(shù),但是輸出結(jié)果的格式是,前面的表示當前UNIX時間戳的微秒部分,后面的表示為當前UNIX時間戳的秒數(shù)。
雖然通過microtime函數(shù)能夠顯示了更細膩的微秒數(shù),但是看著實在不怎么好看,那有沒有辦法能夠直觀地看到微秒數(shù)呢?
我們可以通過函數(shù)后面的參數(shù)設置,將microtime函數(shù)后面的參數(shù)設置為true,那么就會返回一個浮點型的字符串來表示時間。
示例如下:
<?php echo microtime(true); //返回一個浮點型字符串表示時間 ?>
輸出結(jié)果:
由上述示例能夠看出,通過函數(shù)后面參數(shù)的設置,可以更直觀的返回當前的時間。
-
getdate()
函數(shù)
我們前面介紹了這么多的函數(shù)都能夠獲取當前的時間或者指定的時間的UNIX時間戳,getdate函數(shù)就比較厲害了,他可以取得日期時間信息。它的語法格式如下:
array getdate ([ int $timestamp = time() ] )
簡單來說,getdate函數(shù)能夠根據(jù)參數(shù)的信息返回一個關聯(lián)數(shù)組,這個數(shù)組中包含了很多元素,下面給大家列舉一下:
-
seconds
—表示秒的數(shù)字 -
minutes
—表示分鐘的數(shù)字 -
hours
—表示小時的數(shù)字 -
mday
—表示月份中第幾天的數(shù)字 -
wday
—星期中第幾天的數(shù)字 -
mon
—表示月份中第幾個月的數(shù)字 -
year
—用4 位數(shù)字表示的完整年份 -
yday
—表示一年中第幾天的數(shù)字 -
weekday
—表示星期幾的英文 -
month
—表示月份的英文 -
0
—表示自從 UNIX 紀元開始至今的秒數(shù)
示例如下:
<?php echo "<pre>"; var_dump(getdate()); ?>
輸出結(jié)果:
由上述示例中可以看出,通過getdate函數(shù),返回的數(shù)組中包含了當前時間的相關信息。
大家如果感興趣的話,可以點擊《PHP視頻教程》進行