php中计算时间差的方法有哪些

在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了。

php中计算时间差的方法有哪些

一个简单的例子就是计算借书的天数,这需要php根据每天的'日期进行计算,下面就来谈谈实现这种日期计算的几种方法:

(1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可!

若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可!

(2)如果没有数据库,那就得完全用php的时间日期函数!下面主要说明之:

例:计算1998年5月3日到1999-6-5的天数:

<?php

$startdate=mktime("0","0","0","5","3","1998");

$enddate=mktime("0","0","0","6","5","1999");

//所得到的值为从1970-1-1到参数时间的总秒数:是整数.那么

//下面的代码就好编多了:

$days=round(($enddate-$startdate)/3600/24) ;

echo $days;

//days为得到的天数;

?>

若mktime()中的参数缺省,那表示使用当前日期,这样便可计算从借书日期至今的天数.

【拓展阅读

php计算函数执行时间的方法

我们可以通过在程序的前后分别记录开始和结束时间,两个时间差就是程序的执行时间。

<?php

$long_str = "this is a test to see how much time md5 function takes to execute over this string";

// start timing from here

$start = microtime(true);

// function to test

$md5 = md5($long_str);

$elapsed = microtime(true) - $start;

echo "That took $elapsed seconds.n";

?>

运行结果如下:

That took 7.1525573730469E-6 seconds.

php 计算函数执行时间的方法及获得微妙的方法

// 获得微妙方法

function getMillisecond()

{

list($s1, $s2) = explode(' ', microtime());

return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);

}

原理:分别记录函数开始时间和结束时间,然后时间差就是函数执行的时间

<?php

$start_time = microtime(true);

for($i=1;$i<=1000;$i++){

echo $i.'<br>';

}

$end_time = microtime(true);

echo '循环执行时间为:'.($end_time-$start_time).' s';

?>