時間戳記是自 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().'<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
以上是php 時間戳(UNIX)用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!