可能重复:
Get time difference获取时间差
嗨,我需要得到两个时间在PHP之间的时间差。
$starttime=time();
$endtime=time();
如何获取小时,分钟和秒在PHP
感谢
可能重复:
Get time difference获取时间差
嗨,我需要得到两个时间在PHP之间的时间差。
$starttime=time();
$endtime=time();
如何获取小时,分钟和秒在PHP
感谢
echo ($endtime-$starttime);
会得到你的秒数。
如果您需要了解小时就可以这样做:
$seconds = ($endtime-$starttime);
echo floor($seconds/3600).' hours';
'$ starttime = 10000; $ endtime = 11801;'=>'1801秒= 1小时'。你必须使用'floor()'。 – KingCrunch 2011-06-06 09:33:32
@king:修正+1 .... – dynamic 2011-06-06 09:34:06
您可以使用date_diff这个....
看一看的strftime
$difference = $endtime-$starttime;
echo strftime('%H:%M:%S',$difference);
手册页:http://uk2.php.net/manual/en/function.strftime.php 虽然这会导致时区出现问题,基本上,您在UNIX纪元之后花费几小时,几分钟和几秒钟的时间戳。例如,当时区在BST上时,使用'1'的时间戳(这种情况下的差异)给出结果'01:00:01',这显然是错误的。将'date.timezone'设置为'America/Denver'(作为例子),现在'1:'的时间戳为'17:00:01'。 – Aether 2011-06-06 09:45:49
$starttime=time();
$endtime=time();
$diff = $endtime - $starttime;
$hours = floor($diff/3600);
$minutes = floor (($diff % 3600)/60);
$seconds = $diff % 60;
借用的代码here
<?php
$s0 = mktime(1, 2, 3);
$s1 = mktime(4, 5, 6);
$d0 = $s1 - $s0;
$dh = floor($d0/60/60);
$dm = $d0 - $dh * 60 * 60; $dm = floor($dm/60);
$ds = $d0 - $dh * 60 * 60 - $dm * 60;
echo sprintf("
Start Time..: %s<br />
End Time....: %s<br />
Time to go..: %d hours, %d minutes, %d seconds
",
date("Y-m-d h:i:s A", $s0),
date("Y-m-d h:i:s A", $s1),
$dh,
$dm,
$ds
);
?>
Fyi,如果是用于分析:使用'microtime(true)'而不是'time()' – ThiefMaster 2011-06-06 09:26:42