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 相关文章推荐
Display SQL Server Version Information
Jun 21 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
May 23 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
Sep 26 Javascript
jquery.validate表单验证插件使用方法解析
Nov 07 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
Nov 28 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
Vue实现动态创建和删除数据的方法
Mar 17 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
JavaScript 2018 中即将迎来的新功能
Sep 21 Javascript
使用typescript改造koa开发框架的实现
Feb 04 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
一个程序下载的管理程序(一)
2006/10/09 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
详解Python中的strftime()方法的使用
2015/05/22 Python
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python抓取网页中链接的静态图片
2018/01/29 Python
Python之文字转图片方法
2018/05/10 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
Python面向对象封装操作案例详解
2019/12/31 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
基于PyTorch中view的用法说明
2021/03/03 Python
采购员岗位职责范本
2015/04/07 职场文书
五一晚会主持词
2015/07/01 职场文书
高考升学宴主持词
2019/06/21 职场文书
win10搭建配置ftp服务器的方法
2022/08/05 Servers