首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算php中的运行时间

计算php中的运行时间
EN

Stack Overflow用户
提问于 2011-10-21 13:42:37
回答 5查看 99.7K关注 0票数 42

嗨,我想在php中计算经过的时间。问题不在于php,而在于我的数学技巧。例如:时间在: 11:35:20 (hh:mm:ss),现在假设当前时间是: 12:00:45 (hh:mm:ss),那么我公式中的时间差给出了输出:1:-34:25。实际上应该是: 25:25

代码语言:javascript
运行
复制
$d1=getdate();
$hournew=$d1['hours'];
$minnew=$d1['minutes'];
$secnew=$d1['seconds'];

$hourin = $_SESSION['h'];
$secin = $_SESSION['s'];
$minin = $_SESSION['m'];

$h1=$hournew-$hourin;
$s1=$secnew-$secin;
$m1=$minnew-$minin;

if($s1<0) {
    $s1+=60; }
if($s1>=(60-$secin)) {
    $m1--;  }
if($m1<0) {
    $m1++; }
echo $h1 . ":" . $m1 . ":" . $s1;

有什么帮助吗?

编辑

对不起,我可能不得不增加页面每秒钟刷新一次以显示新的经过的时间,所以我必须使用上面的方法。我很抱歉没能正确解释。

EN

回答 5

Stack Overflow用户

发布于 2011-10-21 13:44:17

这将给出从开始到结束之间的秒数。

代码语言:javascript
运行
复制
<?php

// microtime(true) returns the unix timestamp plus milliseconds as a float
$starttime = microtime(true);
/* do stuff here */
$endtime = microtime(true);
$timediff = $endtime - $starttime;

?>

为了在之后显示它的时钟样式,您可以这样做:

代码语言:javascript
运行
复制
<?php

// pass in the number of seconds elapsed to get hours:minutes:seconds returned
function secondsToTime($s)
{
    $h = floor($s / 3600);
    $s -= $h * 3600;
    $m = floor($s / 60);
    $s -= $m * 60;
    return $h.':'.sprintf('%02d', $m).':'.sprintf('%02d', $s);
}

?>

如果不想在十进制之后显示数字,只需将round($s);添加到secondsToTime()函数的开头即可。

票数 78
EN

Stack Overflow用户

发布于 2011-10-21 13:53:21

使用PHP >= 5.3,您可以使用DateTime及其方法DateTime::diff(),该方法返回DateInterval对象:

代码语言:javascript
运行
复制
$first  = new DateTime( '11:35:20' );
$second = new DateTime( '12:00:45' );

$diff = $first->diff( $second );

echo $diff->format( '%H:%I:%S' ); // -> 00:25:25
票数 31
EN

Stack Overflow用户

发布于 2011-10-21 13:47:15

使用' time ()‘函数跟踪您的时间。稍后,您可以将“time()”转换为其他格式。

代码语言:javascript
运行
复制
$_SESSION['start_time'] = time();

$end_time = time();

$end_time - $_SESSION['start_time'] = 65 seconds (divide by 60 to get minutes)

然后,您可以将其与后面的另一个值进行比较。

如果你需要毫秒的细节,可以使用微时间。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7850259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档