MySQL 提供了一個簡潔的解決方案,用於計算兩個日期之間的月份數TIMESTAMPDIFF() 函數。與將時間戳記除以一個月中秒數的近似值不同,使用 TIMESTAMPDIFF() 透過考慮月份長度和閏年的變化來產生準確的結果。
要取得兩個不帶小數精確度的日期之間經過的月數,請使用以下指令語法:
TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')
此表達式直接傳回開始日期和結束日期之間的完整月份數。
要進行精確的月差計算,包括考慮部分月份的小數值,請使用此公式:
TIMESTAMPDIFF(MONTH, startdate, enddate) + DATEDIFF( enddate, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ) / DATEDIFF( startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) + 1 MONTH, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH )
這個更複雜的公式精確計算月份差異,回傳值,例如0.7097,表示「2012-05-05」和「2012-05-27」相差 27 天.
以上是MySQL如何準確計算兩個日期之間的月差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!