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 常用功能总结
Mar 18 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
JS中parseInt()和map()用法分析
Dec 16 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
Angular实现购物车计算示例代码
Feb 21 Javascript
JavaScript数据结构之链表的实现
Mar 19 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
Jun 25 Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
bootstrap table插件动态加载表头
Jul 19 Javascript
JS使用Chrome浏览器实现调试线上代码
Jul 23 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函数(ignore_user_abort)
2012/08/01 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
Js apply方法详解
2017/02/16 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
wxPython中文教程入门实例
2014/06/09 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
python实现公司年会抽奖程序
2019/01/22 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
如何使用python切换hosts文件
2020/04/29 Python
学习Python需要哪些工具
2020/09/04 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
泰国网上购物:Shopee泰国
2018/09/14 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL