首頁  >  文章  >  後端開發  >  php UNIX時間戳用法詳解

php UNIX時間戳用法詳解

不言
不言原創
2018-05-02 10:31:302026瀏覽

這篇文章主要介紹了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().&#39;<br>&#39;;//返回当前时间戳
echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).&#39;<br>&#39;;
echo "当前日期: ".date("Y-m-d",mktime()).&#39;<br>&#39;;

運行結果為:

时间戳: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")).&#39;<br>&#39;;
echo(strtotime("3 October 2005")).&#39;<br>&#39;;
echo(strtotime("+5 hours")).&#39;<br>&#39;;
echo(strtotime("+1 week")).&#39;<br>&#39;;
echo(strtotime("+1 week 3 days 7 hours 5 seconds")).&#39;<br>&#39;;
echo(strtotime("next Monday")).&#39;<br>&#39;;
echo(strtotime("last Sunday")).&#39;<br>&#39;;

執行結果為:

1458980310
1128268800
1458998310
1459585110
1459869515
1459094400
1458403200

如果想要查看這個時間戳對應的時間,例如:

#
echo date("Y-m-d H:i:s",strtotime("now")).&#39;<br>&#39;;
echo date("Y-m-d H:i:s",strtotime("next Thursday")).&#39;<br>&#39;;

##運行結果為:

2016-03-26 16:21:32
2016-03-31 00:00:00



##############################

以上是php UNIX時間戳用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn