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 相关文章推荐
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
jQuery取得select选择的文本与值的示例
Dec 09 Javascript
javascript动态创建及删除元素的方法
Dec 22 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 Javascript
使用Angular CLI进行Build(构建)和Serve详解
Mar 24 Javascript
AngularJS模态框模板ngDialog的使用详解
May 11 Javascript
js canvas画布实现高斯模糊效果
Nov 27 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
vue 获取url里参数的两种方法小结
Nov 12 Javascript
javascript实现京东快递单号的查询效果
Nov 30 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
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
Python读取键盘输入的2种方法
2015/06/16 Python
Python守护线程用法实例
2017/06/23 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python中reader的next用法
2018/07/24 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
中学教师实习自我鉴定
2013/09/28 职场文书
招股说明书范本
2014/05/06 职场文书
妇联主席先进事迹
2014/05/18 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
nginx内存池源码解析
2021/11/20 Servers