PHP中使用微秒计算脚本执行时间例子


Posted in Javascript onNovember 19, 2014

在PHP中,大多数的时间格式都是以UNIX时间戳表示的,而UNIX时间戳是以s(秒)为最小的计量时间的单位。这对某些应用程序来说不够精确,所以可以调用microtime()返回当前UNIX时间戳和微妙数。该函数的原型如下:

mixed microtime([bool get_as_float]); //返回当前UNIX时间戳和微妙数

可以为该函数提供一个可选的布尔型参数,如果在调用时不提供这个参数,本函数以“msec sec”的格式返回一个字符串。其中sec是自UNIX纪元到现在的秒数,而msec是微妙部分,字符串的两部分都是以秒为单位返回的。如果给出了get_as_float参数并且其值等价于TRUE,microtime()将返回一个浮点数。在小数点前面还是以时间戳格式表示,而小数点后面则表示微妙的值。但要注意参数get_as_float是在PHP5.0版本中新加的,所以在PHP5以前的版本中,不能直接使用该参数直接请求一个浮点数。在下面的例子中通过两次调用microtime()函数,计算运行PHP脚本所需要的时间。代码如下所示:
<?php

//生命一个计算脚本运行时间的类

class Timer{

private $startTime = 0; //保存脚本开始执行时的时间(以微秒的形式保存)

private $stopTime = 0; //保存脚本结束执行时的时间(以微秒的形式保存)

 

//在脚本开始处调用获取脚本开始时间的微秒值

function start(){

$this->startTime = microtime(true); //将获取的时间赋值给成员属性$startTime

}

//脚本结束处嗲用脚本结束的时间微秒值

function stop(){

$this->stopTime = microtime(true); //将获取的时间赋给成员属性$stopTime

}

//返回同一脚本中两次获取时间的差值

function spent(){

//计算后4舍5入保留4位返回

return round(($this->stopTime-$this->startTime),4);

}

}

 

$timer= new Timer(); 

$timer->start(); //在脚本文件开始执行时调用这个方法

usleep(1000); //脚本的主题内容,这里可以休眠一毫秒为例

$timer->stop(); //在脚本文件结束处调用这个方法

 

echo "执行该脚本用时<b>".$timer->spent()."</b>";

 

?>

在以上脚本中,声明一个用于计算脚本执行时间的类Timer。需要在脚本执行开始的位置调用该类中的start()方法,获取脚本开始执行时的时间。并在脚本执行结束的位置调用该类中的stop()方法,获取脚本运行结束时的时间。再通过访问该类中的spent()方法,就可以获取运行脚本所需的时间。

Javascript 相关文章推荐
Some tips of wmi scripting in jscript (1)
Apr 03 Javascript
返回页面顶部top按钮通过锚点实现(自写)
Aug 30 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
Ajax使用原生态JS验证用户名是否存在
May 26 Javascript
JavaScript实现格式化字符串函数String.format
Dec 16 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
Jun 02 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
Electron 如何调用本地模块的方法
Feb 01 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
Mar 29 Javascript
微信小程序实现购物车功能
Nov 18 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 #Javascript
实现图片预加载的三大方法及优缺点分析
Nov 19 #Javascript
jQuery Ajax()方法使用指南
Nov 19 #Javascript
javascript匿名函数实例分析
Nov 18 #Javascript
Linux下使用jq友好的打印JSON技巧分享
Nov 18 #Javascript
删除Javascript Object中间的key
Nov 18 #Javascript
如何在MVC应用程序中使用Jquery
Nov 17 #Javascript
You might like
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
python的类方法和静态方法
2014/12/13 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
python requests post多层字典的方法
2018/12/27 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
python怎么对数字进行过滤
2020/07/05 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
几个MySql的面试题
2013/04/22 面试题
食品厂厂长岗位职责
2014/01/30 职场文书
给面试官的感谢信
2014/02/01 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
小学综合实践活动总结
2014/07/07 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
岳庙导游词
2015/02/04 职场文书
幼师辞职信怎么写
2015/02/27 职场文书