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 相关文章推荐
JSQL 批量图片切换的实现代码
May 05 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
Jul 22 Javascript
Jquery的hover方法让鼠标经过li时背景变色
Sep 06 Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
Apr 29 Javascript
JS辨别访问浏览器判断是android还是ios系统
Aug 19 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
js实现继承的5种方式
Dec 01 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
Dec 29 Javascript
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
详解如何运行vue项目
Apr 15 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将数据导入到Foxmail
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
JS的数组迭代方法
2015/02/05 Javascript
js实现进度条的方法
2015/02/13 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python subprocess模块详细解读
2018/01/29 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
消防应急演练方案
2014/02/12 职场文书
学习计划书怎么写
2014/09/15 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
同学聚会感言一句话
2015/07/30 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
MySQL七种JOIN类型小结
2021/10/24 MySQL