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

php 時間戳(UNIX)用法詳解

怪我咯
怪我咯原創
2017-07-14 10:41:005511瀏覽

時間戳記是自 1970 年 1 月 1 日(00:00:00 GMT)以來的秒數。它也被稱為 Unix 時間戳(Unix Timestamp)。

  Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。 Unix時間戳不僅被使用在Unix系統、類別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

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

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