PHP獲取當前時間的5種實現方式
在日期和時間函數中,UNIX 時間戳的獲取非常重要,時間戳是一個字符序列,是指格林尼治時間 1970年 01 月 01 日 00 時 00 分 00 秒(北京時間 1970 年 01 月 01 日 08 時 00 分 00 秒)起至現在的總毫秒數。下面介紹幾個獲取當前時間的函數。
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
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 紀元到給定時間的秒數。
和 gmmktime() 函數一樣,該函數的參數也可以從右向左省略,任何省略的參數會被設置成本地日期和時間的當前值。
使用示例如下:
<?php echo mktime(); // 沒有設置參數則默認取得當前GMT時間 echo mktime(0,45,3,7,7,2016); //設置參數表示GMT時間2016年7月7日0點45分3秒 ?>
執行以上程序的打印結果為:
1467910465 1467852303
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
time()
time() 函數可返回當前的 UNIX 時間戳。語法如下:
int time ( void )
time() 函數的語法比較簡單,使用示例如下:
<?php echo time(); ?>
執行以上程序的打印結果為:
1467911104
getdate()
getdate() 可取得日期時間信息。語法如下:
array getdate ([ int $timestamp = time() ] )
該函數返回一個根據 timestamp 得出的包含有日期信息的關聯數組 array。如果沒有給出時間戳,則認為是當前本地時間(此時和 time() 函數取值相同)。
其返回的關聯數組中的鍵名單元如表所示。
getdate() 函數返回關聯數組鍵名
鍵名 | 說明 | 返回值例子 |
---|---|---|
seconds | 秒的數字表示 | 0 到 59 |
minutes | 分鐘的數字表示 | 0 到 59 |
hours | 小時的數字表示 | 0 到 23 |
mday | 月份中第幾天的數字表示 | 1 到 31 |
wday | 星期中第幾天的數字表示 | 0(周日)到6(周六) |
mon | 月份的數字表示 | 1 到 12 |
year | 4 位數字表示的完整年份 | 比如:1999 或 2019 |
yday | 一年中第幾天的數字表示 | 0 到 365 |
weekday | 星期幾的完整文本表示 | Monday 到 Sunday |
month | 月份的完整文本表示,,比如 January 或 April | January 到 December |
0 | 自從 UNIX 紀元開始至今的秒數,和 time() 的返回值以及用於 date() 的值類似 | 系統相關,典型值為 -2147483648 ~ 2147483647 |
getdate() 函數的使用示例如下:
<?php echo "<pre>"; var_dump(getdate()); ?>
執行以上程序的打印結果如下:
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種實現方式的文章就介紹到這瞭,更多相關PHP獲取當前時間內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- PHP獲取系統毫秒數時間方法
- php中日期類型轉換實例講解
- php比較兩個指定的日期的實例講解
- php中echo、print和print_r的區別點及用法總結
- PHP格式化顯示時間date()函數案例講解