這篇文章主要介紹了php UNIX時間戳用法,結合實例形式分析了php Unix時間戳相關函數與使用技巧,需要的朋友可以參考下
本文實例講述了php UNIX時間戳用法。分享給大家供大家參考,具體如下:
時間戳記是檔案屬性中的建立、修改、和存取時間。數位時間戳服務是Web網站安全服務項目之一,能提供電子文件的日期和時間資訊的安全保護。
時間戳記的優點是:
可用變化的加密數值,防止數值被竊取後非法重複利用,起到加密的作用。時間戳主要依賴時間,在約定的一段時間內產生唯一的一個數值。
UNIX時間戳
在UNIX系統中,日期與時間表示為自1970年1月1日零點就到當下時刻的秒數,這種時間稱為UNIX時間戳,以32位元二進位數表示。在不同的作業系統中均支援這種時間表示方式,同一時間在UNIX和Windows中均以相同的UNIX時間戳表示,所以不需要在不同的系統中進行轉換。
目前UNIX時間戳以32位元二進位數表示,32位元二進位數值範圍為(-2147483648~ 2147483647),由於系統不支援負的時間戳,因此,目前UNIX時間戳能表示的最大時間為2038年1月19日3點14分7秒,該時刻的時間戳為2147483647。於此時間後,需要擴展UNIX時間戳記的二進位位數。
PHP取得指定日期的時間戳記
#PHP中應用mktime()函數將一個時間轉換為UNIX時間戳記值。
語法如下
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 參數被廢棄。因此應該使用新的時區處理特性。 |
例如:
echo "时间戳:".mktime().'<br>';//返回当前时间戳 echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).'<br>'; echo "当前日期: ".date("Y-m-d",mktime()).'<br>';
運行結果為:
时间戳:1458979695 任意日期:1996-02-21 当前日期: 2016-03-26
取得目前時間戳記
PHP透過time()函數取得目前的UNIX時間戳記。
語法如下:
int time(void);
#此函數沒有參數,並傳回值為UNIX時間戳記的整數值。
例如:
echo time()."<br>";//输出当前时间戳 $nextWeek = time()+(7*24*60*60);//一个星期七天,一天24小时,一个小时60分,一分60秒 echo "Now: ".date("Y-m-d")."<br>"; echo "Next Week: ".date("Y-m-d",$nextWeek);
運行結果為
1458980073 Now: 2016-03-26 Next Week: 2016-04-02
將英文文字的日期時間描述解析為UNIX時間戳記
strtotime() 函數將任何英文文字的日期時間描述解析為Unix 時間戳記。
語法
strtotime(time,now)
參數 | 描述 |
---|---|
time | 規定要解析的時間字串。 |
now | 用來計算傳回值的時間戳記。如果省略該參數,則使用目前時間。 |
例如:
echo(strtotime("now")).'<br>'; echo(strtotime("3 October 2005")).'<br>'; echo(strtotime("+5 hours")).'<br>'; echo(strtotime("+1 week")).'<br>'; echo(strtotime("+1 week 3 days 7 hours 5 seconds")).'<br>'; echo(strtotime("next Monday")).'<br>'; echo(strtotime("last Sunday")).'<br>';
執行結果為:
1458980310 1128268800 1458998310 1459585110 1459869515 1459094400 1458403200
如果想要查看這個時間戳對應的時間,例如:
#echo date("Y-m-d H:i:s",strtotime("now")).'<br>'; echo date("Y-m-d H:i:s",strtotime("next Thursday")).'<br>';
2016-03-26 16:21:32 2016-03-31 00:00:00
##############################
以上是php UNIX時間戳用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!