0

使用以下查询,我试图弄清楚如何计算两个不同字段中两个日期之间的差异。

开始日期为:vlg.firstflight 结束/较早日期为:vg.vertrekdatum

我想将其显示为:

echo "    <td width='100' bgcolor='$row_color'>".$row['ageYears'] . "en "       .$row['ageMonths'] ."</td>";

我怎样才能做到这一点来计算年和月的“年龄”......

我试着做: DATEDIFF(vlg.firstflight,vg.vertrekdatum) Age1 但这不起作用;-(

$sql = "SELECT vg.gegevenID, lvm.luchtvaartmaatschappij, vg.vertrekdatum,
vg.vertrekdatum2, vg.vertrekluchthaven, vg.aankomstluchthaven, vg.toestel, 
vg.inschrijvingnmr, vlg.vliegtuignaam, vg.vluchtnmr, t.toestel AS toestelnaam,
lh.luchthavencode, lh.luchthavennaam, lh.countryflag, lh2.luchthavencode AS 
aankomstluchthavencode, lh2.countryflag AS countryflagaankomst, vlg.firstflight

FROM (tbl_vliegtuiggegevens vlg

INNER JOIN (tbl_luchtvaartmaatschappij lvm INNER JOIN tbl_vluchtgegevens vg ON
lvm.luchtvaartmaatschappijID = vg.luchtvaartmaatschappij) ON (vlg.inschrijvingnmr = 
vg.inschrijvingnmr) AND (vlg.lvmID = lvm.luchtvaartmaatschappijID)) INNER JOIN
 tbl_toestel t ON vg.toestel = t.toestelID

  left join tbl_luchthaven lh
on vg.vertrekluchthaven = lh.luchthavenID

  left join tbl_luchthaven lh2
 on vg.aankomstluchthaven = lh2.luchthavenID

GROUP BY  lvm.luchtvaartmaatschappij, t.toestel, vg.inschrijvingnmr, vg.vertrekdatum2

ORDER BY lvm.luchtvaartmaatschappij, t.toestel, vg.vertrekdatum2 DESC,     vg.inschrijvingnmr";

$result = mysql_query($sql) or trigger_error(mysql_error(),E_USER_ERROR);

任何帮助将不胜感激。

4

1 回答 1

0

你可以做这样的事情来获得两个日期之间的天数差异。然后你可以取这个数字并进一步除以一年中的天数以获得年数。使用模运算符获得余数

$difference = ((strtotime($firstDate) - strtotime($secondDate)) / (60*60*24));
于 2013-07-29T02:14:36.943 回答