php中time()与$_SERVER[REQUEST_TIME]用法区别

时间:2022-07-08 18:11:45

简单的说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脚本时的时间戳
?>

php中time()与$_SERVER[REQUEST_TIME]用法区别

结论:

因为sleep(5)睡了5秒,之后用time()获取系统的时间戳,$_SERVER['REQUEST_TIME']则记录了发起此请求时刻的时间戳。所以$_SERVER['REQUEST_TIME']比用time()获取的时间戳早5秒

因为可能脚本中的 会用到多次时间戳,time() 可能时间就会有差别, 具体看什么业务流程了.

希望本文所述对大家的php程序设计有所帮助。