欢迎各位兄弟 发布技术文章
这里的技术是共享的
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 之间的问题。
时间戳虽然看起来好像不太直观,但我们在对时间做计算时却很方便。例如我们要计算时间差,或者对两个时间做比较等,直接比较数字即可而不必分别去考虑年月日时分秒的换算。而且在效率上时间戳作为整型数据也会快得多。
要求用户在登陆网站一定时间后失效而需要重新登录的例子:
<?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 秒钟。