我有2日期從MySQL與日期時間格式。PHP和MySQL中的日期時間之間的差異
日期1是:
"2012/09/28 09:28:00" (column name is departure_date)
和日期2:
"2012/09/29 10:48:00" (column name is return_date)
那麼如何得到這樣一個結果:"25 hours 20 minutes"
我不關心秒。
我正在使用MySQL和PHP的編程語言。
我有2日期從MySQL與日期時間格式。PHP和MySQL中的日期時間之間的差異
日期1是:
"2012/09/28 09:28:00" (column name is departure_date)
和日期2:
"2012/09/29 10:48:00" (column name is return_date)
那麼如何得到這樣一個結果:"25 hours 20 minutes"
我不關心秒。
我正在使用MySQL和PHP的編程語言。
您可以通過這個做例子:
$date1 = "2012/09/28 09:28:00";
$date2 = "2012/09/29 10:48:00";
$difference = abs(strtotime($date2)-strtotime($date1));
$hours = floor($difference/(60*60));
$minutes = floor(($difference - $hours * 60*60)/60);
echo "{$hours} hours {$minutes} minutes";
,它會給你什麼你尋找:
25小時20分鐘
日期差函數已經存在
SELECT DATEDIFF('2007-10-04 11:26:00','2007-10-04 11:50:00')
您也可以嘗試TIMEDIFF
SELECT TIMEDIFF('2007-10-05 12:10:18','2007-10-05 16:14:59') AS duration;
所以你的情況,你必須使用這兩個功能,這樣
SELECT TIMEDIFF(departure_date,return_date) AS duration;
SELECT DATEDIFF(departure_date,return_date) AS duration;
選項你可以使用DateInterval類。
$date1 = new DateTime("2012/09/28 09:28:00");
$date2 = new DateTime("2012/09/29 10:48:00");
$diff = $date1->diff($date2);
echo $diff->format('%d days %h hours %i minutes');
檢查here的格式。
試試這個:
select concat(substr(mt,1,locate('.',mt)-1),' hours') hours,
concat(ceil((substr(mt,locate('.',mt)+1) * .60)/100),' minutes')
as minutes
from (
select TIMESTAMPDIFF(MINUTE,
'2012/09/28 09:28:00','2012/09/29 10:48:00')/60 as mt)a
感謝..只有這個方法對我的作品...:d –