2
我有以下格式的Mysql表shift_def。如何在php中查找兩個時間間隔的持續時間?
+-------------------------------------------------------------------------------+
| id | name | start_time | end_time | description | break |
|-------------------------------------------------------------------------------|
| 101 | Shift1 | 01:03:55 | 06:00:55 | Shift 1 | 1 |
|-------------------------------------------------------------------------------|
| 102 | Shift2 | 06:03:55 | 01:00:55 | Shift 2 | 3 |
+-------------------------------------------------------------------------------+
查找總的移位持續時間。我在我的php中執行以下過程。
$shift_time = mysql_query("select start_time, end_time from rpt_shift_def where name ='Shif1'")or die(mysql_error());
while ($row = mysql_fetch_assoc($shift_time))
{
$Total_shift_time = strtotime($row['end_time']) - strtotime($row['start_time']);
$hours=floor($Total_shift_time/3600);
$Total_shift_time-=$hours*3600;
$minutes=floor($Total_shift_time/60);
$Total_shift_time-=$minutes*60;
$seconds=$Total_shift_time;
$Total_shift_time=$hours.":".$minutes.":".$seconds;*/
echo "$Total_shift_time";
echo "</br>";
}
輸出是
4:57:0
當我嘗試相同的用於換檔2的期望輸出是
18:57:0
但輸出是
-6:57:0
負值是因爲s的end_time hift 2小於start_time。 如何解決這個問題。
任何人都可以幫助我。
就是這個想法我也有。但它不起作用。可能是我在實施時出錯了。這是我試過的。 '$ in24hourstime = strtotime('+ 24 hours',$ end_time); $ Total_shift_time = strtotime($ in24hourstime) - strtotime($ row ['start_time']);'。但它不起作用。 – Allen
我編輯了我的答案。這應該是你需要做的一切。 – paddy
其工作。謝謝。 – Allen