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 中的事件教程
Apr 05 Javascript
jQuery 相关控件的事件操作分解
Aug 03 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
JS常用字符串处理方法应用总结
May 22 Javascript
js变量、作用域及内存详解
Sep 23 Javascript
node.js超时timeout详解
Nov 26 Javascript
关于验证码在IE中不刷新的快速解决方法
Sep 23 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
Javascript es7中比较实用的两个方法示例
Jul 21 Javascript
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
在Vue中使用Compass的方法
Mar 02 Javascript
vue如何判断dom的class
Apr 26 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 无限级缓存的类的扩展
2009/03/16 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
用Python编写简单的定时器的方法
2015/05/02 Python
Python素数检测实例分析
2015/06/15 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
python实现移动木板小游戏
2020/10/09 Python
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
会计电算化专业应届大学生求职信
2013/10/22 职场文书
通信研究生自荐信
2014/02/01 职场文书
创新型城市实施方案
2014/03/06 职场文书
社会发展项目建议书
2014/08/25 职场文书
检讨书范文500字
2015/01/28 职场文书
圣诞晚会主持词
2015/07/01 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL