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 RegExp方法获取地址栏参数(面向对象)
Mar 10 Javascript
Javascript select下拉框操作常用方法
Nov 09 Javascript
javascript中普通函数的使用介绍
Dec 19 Javascript
JQuery实现绚丽的横向下拉菜单
Dec 19 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
详解用函数式编程对JavaScript进行断舍离
Sep 18 Javascript
简单实现节流函数和防抖函数过程解析
Oct 08 Javascript
LayUI+Shiro实现动态菜单并记住菜单收展的示例
May 06 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
收音机的保养
2021/03/01 无线电
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
python字符串的拼接方法总结
2019/11/18 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
有兼职工作经历的简历自我评价
2014/03/07 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
八月一日观后感
2015/06/10 职场文书
Java网络编程之UDP实现原理解析
2021/09/04 Java/Android