PHP 時間戳


PHP 時間戳

UNIX 時間戳(timestamp)是 PHP 中關於時間日期一個很重要的概念,它表示從 1970年1月1日 00:00:00 到當前時間的秒數之和。

PHP提供了內置函數 time() 來取得服務器當前時間的時間戳。

例子:

<?php
echo time();
?>

上面的例子運行后得到的是一串類似這樣的數字:1279115455

我們可以通過 date() 等函數將它格式化為我們需要的時間日期格式。

有效的時間戳典型范圍是格林威治時間 1901年12月13日 20:45:54 到 2038年1月19日 03:14:07(此范圍符合 32 位有符號整數的最小值和最大值)。不過從 5.1.0 起,已經克服了年的范圍只能是 1901 到 2038 之間的問題。

提示

  1. time() 得到的總是當前的時間戳,所以是不固定的值
  2. 如果時間戳為負數,則為從1970年1月1日 00:00:00往前推

時間差

時間戳雖然看起來好像不太直觀,但我們在對時間做計算時卻很方便。例如我們要計算時間差,或者對兩個時間做比較等,直接比較數字即可而不必分別去考慮年月日時分秒的換算。而且在效率上時間戳作為整型數據也會快得多。

要求用戶在登陸網站一定時間后失效而需要重新登錄的例子:

<?php
$expiration = $time()+2*3600;	//得到當前時間延遲2小時候的時間戳
//失效驗證代碼略
?>

那么只需要用戶在活動期間將當前時間戳與 $expiration 進行比較,如果大於 $expiration 則要求用戶重新登錄。

頁面執行時間

計算當前頁面執行時間的例子:

<?php
//do something
sleep(3);
//do something
$running_time = time() - $_SERVER['REQUEST_TIME'];
echo '頁面運行時間:',$running_time,' 秒';
?>

執行例子輸出如下:

頁面運行時間:3 秒

$_SERVER['REQUEST_TIME'] 是 PHP 內置的當前頁面開始運行時的時間戳,在當前頁面運行結束時將 time() - $_SERVER['REQUEST_TIME'] 得到的就是當前頁面運行的時間(秒):

由於該例子沒有其他更多內容,因此是用 sleep(3) 函數讓頁面執行延遲 3 秒鍾。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM