php獲取當前時間有三種比較常用的方式,分別是gmmktime()函數、mktime()方法、microtime()方法。
1、gmmktime()函數
gmmktime()函數是可以取得GMT日期的UNIX時間戳。
具體語法爲:
int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
該函數的參數能夠從右到左依次空着,而空着的參數就會被設爲相應的當前 GMT 值。
參考範例:
示例代碼:
<?php
echo gmmktime(); //沒有設定參數, 則默認取得當前GMT時間
echo gmmktime(0,45,3,7,7,2016); //設定參數表示GMT時間2016年7月7日0點45分3秒
?>
輸出:
1467909956 1467852303
2、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 ]]]]]]] )
該函數可以根據給出的參數返回 UNIX 時間戳。時間戳一般就是一個長整數,其中包含了從 UNIX 紀元到給定時間的秒數。
參考範例:
示例代碼:
<?php
echo mktime(); // 沒有設定參數則默認取得當前GMT時間
echo mktime(0,45,3,7,7,2016); //設定參數表示GMT時間2016年7月7日0點45分3秒
?>
輸出:
1467910465 1467852303
3、microtime()方法
microtime() 可以獲得當前 UNIX 時間戳和微秒數。
具體語法爲:mixed microtime ([ bool $get_as_float ] )
若是設定 get_as_float 參數值爲 true,那麼microtime() 將返回一個浮點數;若是不帶參數,那麼返回一個“msec sec”格式的字元串,其中 sec 是自 UNIX 紀元起到現在的秒數,而msec則是微秒部分。字元串的兩部分基本上都是以秒爲單位返回的。
參考範例:
示例代碼:
<?php
echo microtime(); //返回 msec sec 格式字元串表示時間
echo "<br/>";
echo microtime(true); //返回一個浮點型字元串表示時間
?>
輸出:
0.40474900 1467910862
1467910862.4048