可能重複:
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