PHP語言中的函數有許多種,各類應用方式不一樣,實現的功能也不盡相同。咱們在本文種爲你們總結了PHP時間戳函數,但願能做爲參考學習對象。 php
一,PHP時間戳函數獲取指定日期的unix時間戳 strtotime(」2009-1-22″) 示例以下: html
echo strtotime(」2009-1-22″) 結果:1232553600 vim
說明:返回2009年1月22日0點0分0秒時間戳 函數
二,PHP時間戳函數獲取英文文本日期時間 示例以下: 學習
便於比較,使用date將當時間戳與指定時間戳轉換成系統時間 spa
(1)打印明天此時的時間戳strtotime(」+1 day」) unix
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25 code
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 day」)) 結果:2009-01-23 09:40:25 htm
(2)打印昨天此時的時間戳strtotime(」-1 day」) 對象
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 day」)) 結果:2009-01-21 09:40:25
(3)打印下個星期此時的時間戳strtotime(」+1 week」)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 week」)) 結果:2009-01-29 09:40:25
(4)打印上個星期此時的時間戳strtotime(」-1 week」)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 week」)) 結果:2009-01-15 09:40:25
(5)打印指定下星期幾的時間戳strtotime(」next Thursday」)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」next Thursday」)) 結果:2009-01-29 00:00:00
(6)打印指定上星期幾的時間戳strtotime(」last Thursday」)
當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25
指定時間:echo date(」Y-m-d H:i:s」,strtotime(」last Thursday」)) 結果:2009-01-15 00:00:00
以上PHP時間戳函數示例可知,strtotime能將任何英文文本的日期時間描述解析爲Unix時間戳,咱們結合mktime()或date()格式化日期時間獲取指定的時間戳,實現所須要的日期時間。
示例:
?>
mktime() 函數返回一個日期的 Unix 時間戳。
參數老是表示 GMT 日期,所以 is_dst 對結果沒有影響。
參數能夠從右到左依次空着,空着的參數會被設爲相應的當前 GMT 值。
mktime(hour,minute,second,month,day,year,is_dst)
參數 | 描述 |
---|---|
hour | 可選。規定小時。 |
minute | 可選。規定分鐘。 |
second | 可選。規定秒。 |
month | 可選。規定用數字表示的月。 |
day | 可選。規定天。 |
year | 可選。規定年。在某些系統上,合法值介於 1901 - 2038 之間。不過在 PHP 5 中已經不存在這個限制了。 |
is_dst | 可選。若是時間在日光節約時間(DST)期間,則設置爲1,不然設置爲0,若未知,則設置爲-1。 自 5.1.0 起,is_dst 參數被廢棄。所以應該使用新的時區處理特性。 |
註釋:在 PHP 5.1 以前,若是該函數的參數非法,則會返回 false。
mktime() 函數對於日期運算和驗證很是有用。它能夠自動校訂越界的輸入:
<?php echo(date("M-d-Y",mktime(0,0,0,12,36,2001))); echo(date("M-d-Y",mktime(0,0,0,14,1,2001))); echo(date("M-d-Y",mktime(0,0,0,1,1,2001))); echo(date("M-d-Y",mktime(0,0,0,1,1,99))); ?>
輸出:
Jan-05-2002 Feb-01-2002 Jan-01-2001 Jan-01-1999