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 相关文章推荐
jQuery滚动加载图片效果的实现
Mar 06 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
codeMirror插件使用讲解
Jan 16 Javascript
利用JS如何计算字符串所占字节数示例代码
Sep 13 Javascript
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
微信小程序实现音乐播放器
Nov 20 Javascript
JS实现容器模块左右拖动效果
Jan 14 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 stripos()函数及注意事项的分析
2013/06/08 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
Python PyQt5标准对话框用法示例
2017/08/23 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python输入二维数组方法
2018/04/13 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
django配置app中的静态文件步骤
2020/03/27 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
省优秀教师事迹材料
2014/01/30 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
参观接待方案
2014/03/17 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
大学生求职信怎么写
2015/03/19 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
如何用python绘制雷达图
2021/04/24 Python
jquery插件实现代码雨特效
2021/04/24 jQuery
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL