簡單的說time()與$_SERVER["REQUEST_TIME"]都是獲得時間的,但time返回當前的 Unix 時間戳而$_SERVER["REQUEST_TIME"]得到請求開始時的時間戳,稍有區別。
1. time() 獲取當前的系統時間戳
int time(void) :
返回當前的 Unix 時間戳 (返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。 )
自 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了發起該請求時刻的時間戳。
$_SERVER["REQUEST_TIME"] :The timestamp of the start of the request. Available since PHP 5.1.0. 一看解釋就都明白了
2. $_SERVER["REQUEST_TIME"] 得到請求開始時的時間戳
實例代碼:
<?php
date_default_timezone_set('PRC');
sleep(5);//php腳本睡5秒
echo date('Y-m-d H:i:s',time());//獲取當前系統時間的時間戳
echo '<hr />';
echo date('Y-m-d H:i:s',$_SERVER['REQUEST_TIME']);//得到請求此php腳本時的時間戳
?>
date_default_timezone_set('PRC');
sleep(5);//php腳本睡5秒
echo date('Y-m-d H:i:s',time());//獲取當前系統時間的時間戳
echo '<hr />';
echo date('Y-m-d H:i:s',$_SERVER['REQUEST_TIME']);//得到請求此php腳本時的時間戳
?>
結論:
因為sleep(5)睡了5秒,之后用time()獲取系統的時間戳,$_SERVER['REQUEST_TIME']則記錄了發起此請求時刻的時間戳。所以$_SERVER['REQUEST_TIME']比用time()獲取的時間戳早5秒
因為可能腳本中的 會用到多次時間戳,time() 可能時間就會有差別, 具體看什么業務流程了.
希望本文所述對大家的php程序設計有所幫助。