我在mysql表中有兩個日期。日期差異
sample:
date1: 2011-01-01 06:40:00
date2: 2011-02-19 18:00:00
我需要返回它們之間的區別,就像這樣:
50天,12小時,20分鐘
我如何在PHP或MySQL這樣做呢?
我在mysql表中有兩個日期。日期差異
sample:
date1: 2011-01-01 06:40:00
date2: 2011-02-19 18:00:00
我需要返回它們之間的區別,就像這樣:
50天,12小時,20分鐘
我如何在PHP或MySQL這樣做呢?
此代碼應該做你需要的東西:
<?php
$result = mysql_query("SELECT (date1, date2) FROM myTable;");
while (list($date1, $date2) = mysql_fetch_array($result)) {
$firstdate = new DateTime($date1);
$seconddate = new DateTime($date2);
$diff = $firstdate->diff($seconddate);
echo $diff->d . " days, " . $diff->h . " hours, " . $diff->i . "minutes\n";
}
?>
試試這個,
SELECT CONCAT(
FLOOR(TIMESTAMPDIFF(HOUR,'2011-01-01 06:40:00', '2011-02-19 18:00:00')/24), ' days ',
MOD(TIMESTAMPDIFF(HOUR,'2011-01-01 06:40:00', '2011-02-19 18:00:00'), 24), ' hours ',
MINUTE(TIMESTAMPDIFF(second,'2011-01-01 06:40:00', '2011-02-19 18:00:00')), ' minutes')
+1在MySQL中完成所有操作。 – EdoDodo
你可以閱讀一下mysql DATEDIFF功能:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff
複製DUP。 – dynamic
這不完全是鏈接問題的重複,因爲它還涉及從MySQL獲取日期,鏈接問題沒有。 – EdoDodo
@pedro:你可以通過查詢來做到這一點,檢查我的答案 – Gowri