0

次のクエリを使用して、2 つの異なるフィールドの 2 つの日付の差を計算する方法を見つけようとしています。

開始日: 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

2 つの日付の間の日数の差を取得するには、次のようなことを行うことができます。次に、その数値をさらに 1 年の日数で割ると、年数を取得できます。モジュラス演算子を使用して剰余を取得する

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