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 相关文章推荐
dess中一个简单的多路委托的实现
Jul 20 Javascript
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
vue.js中父组件调用子组件的内部方法示例
Oct 22 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
Dec 18 Javascript
Angular Material Icon使用详解
Nov 07 Javascript
在VUE中实现文件下载并判断状态的方法
Nov 08 Javascript
在vue+element ui框架里实现lodash的debounce防抖
Nov 13 Javascript
vue props对象validator自定义函数实例
Nov 13 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 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函数的方法
2013/11/13 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
Cpy和Python的效率对比
2015/03/20 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
python多进程间通信代码实例
2019/09/30 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python中reload重载实例用法
2020/12/15 Python
优秀志愿者事迹材料
2014/02/03 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
校本教研活动总结
2014/07/01 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
社区节水倡议书
2015/04/29 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers