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 相关文章推荐
Javascript中暂停功能的实现代码
Mar 04 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 Javascript
实例分析js和C#中使用正则表达式匹配a标签
Nov 26 Javascript
JavaScript实现的背景自动变色代码
Oct 17 Javascript
详解javascript数组去重问题
Nov 06 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
Bootstrap3 datetimepicker控件使用实例
Dec 13 Javascript
详解Vue2.0 事件派发与接收
Sep 05 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
Dec 08 Javascript
微信小程序时间轴实现方法示例
Jan 14 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
mysql 字段类型说明
2007/04/27 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php判断当前操作系统类型
2015/10/28 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
仿服务器端脚本方式的JS模板实现方法
2007/04/27 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python使用flask与js进行前后台交互的例子
2019/07/19 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
自我鉴定总结
2014/03/24 职场文书
服务承诺口号
2014/05/22 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
党员一帮一活动总结
2014/07/08 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
初中班长竞选稿
2015/11/20 职场文书