php microtime获取浮点的时间戳


Posted in PHP onFebruary 21, 2010

一直以来用这个函数获取:

function microtime_float(){ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
}

看到别人的源码中用microtime(true),查了下手册,原来从PHP 5.0.0 开始,microtime增加了这个参数。
引用
mixed microtime ( [bool get_as_float] ) 
microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。 
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 
如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。 
注意: get_as_float 参数是 PHP 5.0.0 新加的。

如果程序肯定在PHP5以上的环境运行,那么就直接使用microtime(true)吧,比使用microtime_float函数至少快两倍。以下是我简单测试的程序代码。
<?php 
function microtime_float3(){ 
return microtime(true); 
} 
function microtime_float2(){ 
if( PHP_VERSION > 5){ 
return microtime(true); 
}else{ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
} 
} 
function microtime_float(){ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
} 
function runtime($t1){ 
return number_format((microtime_float() - $t1)*1000, 4).'ms'; 
} 
$t1 = microtime_float(); 
for($i=0;$i<10000;$i++){ 
microtime_float(); 
} 
echo "microtime_float====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime(true); 
} 
echo "microtime_true====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime_float2(); 
} 
echo "microtime_float2====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime_float3(); 
} 
echo "microtime_float3====="; 
echo runtime($t1).'<br>'; 
?>

本机winxp运行结果:
microtime_float=====109.5631ms
microtime_true=====38.8160ms
microtime_float2=====52.7902ms
microtime_float3=====45.0699ms
Linux上运行结果:
microtime_float=====47.2510ms
microtime_true=====9.2051ms
microtime_float2=====16.3319ms
microtime_float3=====12.2800ms
在PHP5的环境下,直接使用microtime(true);显然是最快的。microtime_float2和microtime_float3都可以在不改变原有程序的情况下,直接修改函数内容来实现性能的轻微提升。microtime_float2可以做为兼容旧版本的写法。
PHP 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
一些PHP写的小东西
Dec 06 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
PHP模板引擎Smarty内建函数详解
Apr 11 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
PHP+ajax 无刷新删除数据
Feb 20 #PHP
php 读取文件乱码问题
Feb 20 #PHP
判断是否为指定长度内字符串的php函数
Feb 16 #PHP
支持数组的ADDSLASHES的php函数
Feb 16 #PHP
php htmlspecialchars加强版
Feb 16 #PHP
php 数组二分法查找函数代码
Feb 16 #PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 #PHP
You might like
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
js定时器实例分享
2016/12/20 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python实现多张图片拼接成大图
2019/01/15 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
Python如何输出百分比
2020/07/31 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
三年级小学生评语
2014/04/22 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
化验室安全管理制度
2015/08/06 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书