在日期和時間函數(shù)中,UNIX 時間戳的獲取非常重要,時間戳是一個字符序列,是指格林尼治時間 1970年 01 月 01 日 00 時 00 分 00 秒(北京時間 1970 年 01 月 01 日 08 時 00 分 00 秒)起至現(xiàn)在的總毫秒數(shù)。下面介紹幾個獲取當前時間的函數(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ù)會被設為相應的當前 GMT 值。
使用示例如下:
?php
echo gmmktime(); //沒有設置參數(shù), 則默認取得當前GMT時間
echo gmmktime(0,45,3,7,7,2016); //設置參數(shù)表示GMT時間2016年7月7日0點45分3秒
?>
執(zhí)行以上程序的打印結果為:
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 紀元到給定時間的秒數(shù)。
和 gmmktime() 函數(shù)一樣,該函數(shù)的參數(shù)也可以從右向左省略,任何省略的參數(shù)會被設置成本地日期和時間的當前值。
使用示例如下:
?php
echo mktime(); // 沒有設置參數(shù)則默認取得當前GMT時間
echo mktime(0,45,3,7,7,2016); //設置參數(shù)表示GMT時間2016年7月7日0點45分3秒
?>
執(zhí)行以上程序的打印結果為:
1467910465 1467852303
microtime()
microtime() 可獲得當前 UNIX 時間戳和微秒數(shù)。語法如下:
mixed microtime ([ bool $get_as_float ] )
如果設置 get_as_float 參數(shù)值為 true,microtime() 將返回一個浮點數(shù);若不帶參數(shù),則返回一個“msec sec”格式的字符串,其中 sec 是自 UNIX 紀元起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。
使用示例如下:
?php
echo microtime(); //返回 msec sec 格式字符串表示時間
echo "br/>";
echo microtime(true); //返回一個浮點型字符串表示時間
?>
執(zhí)行以上程序的打印結果如下:
0.40474900 1467910862
1467910862.4048
time()
time() 函數(shù)可返回當前的 UNIX 時間戳。語法如下:
time() 函數(shù)的語法比較簡單,使用示例如下:
執(zhí)行以上程序的打印結果為:
1467911104
getdate()
getdate() 可取得日期時間信息。語法如下:
array getdate ([ int $timestamp = time() ] )
該函數(shù)返回一個根據(jù) timestamp 得出的包含有日期信息的關聯(lián)數(shù)組 array。如果沒有給出時間戳,則認為是當前本地時間(此時和 time() 函數(shù)取值相同)。
其返回的關聯(lián)數(shù)組中的鍵名單元如表所示。
getdate() 函數(shù)返回關聯(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 紀元開始至今的秒數(shù),和 time() 的返回值以及用于 date() 的值類似 |
系統(tǒng)相關,典型值為 -2147483648 ~ 2147483647 |
getdate() 函數(shù)的使用示例如下:
?php
echo "pre>";
var_dump(getdate());
?>
執(zhí)行以上程序的打印結果如下:
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)
}
到此這篇關于PHP獲取當前時間的5種實現(xiàn)方式的文章就介紹到這了,更多相關PHP獲取當前時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- php獲取當前時間的毫秒數(shù)的方法
- php中用date函數(shù)獲取當前時間有誤的解決辦法
- PHP setTime 設置當前時間的代碼
- 在php MYSQL中插入當前時間