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使用prototype定义对象类型
Feb 07 Javascript
jquery 卷帘效果实现代码(不同方向)
Feb 05 Javascript
jQuery插件的写法分享
Jun 12 Javascript
jquery实现可拖拽弹出层特效
Jan 04 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
jQuery控制控件文本的长度的操作方法
Dec 05 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
Dec 07 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
May 03 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
Jul 20 Javascript
个人小程序接入支付解决方案
May 23 Javascript
vue 更改连接后台的api示例
Nov 11 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 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 无线电
input 输入框内的输入事件详细分析
2010/03/17 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
微信支付如何实现内置浏览器的H5页面支付
2015/09/25 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
TensorFlow实现创建分类器
2018/02/06 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python实现把类当做字典来访问
2019/12/16 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
自我鉴定思想方面
2013/10/07 职场文书
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
新员工欢迎词
2014/01/12 职场文书
生产厂长岗位职责
2014/02/21 职场文书
志愿者活动总结
2014/04/28 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python