首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 計算時間差的多種方法:資料庫函數與純 PHP 實現

     編輯:PHP 相關知識

場景:計算借書天數等日期差

方法一:資料庫層面計算(推薦)

  • MSSQL:使用 DATEDIFF() 函數,可在觸發器中自動計算並存入欄位。
  • MySQL:兩個日期欄位相減,或使用 DATEDIFF(date1, date2),結果存入數值欄位供查詢使用。

方法二:純 PHP 計算(無資料庫時)

核心思路:將日期轉為 Unix 時間戳(秒),相減後換算天數。

<?php
// 例:計算 1998-05-03 到 1999-06-05 的天數
$start = strtotime('1998-05-03');
$end   = strtotime('1999-06-05');
$days  = floor(($end - $start) / 86400);
echo $days; // 輸出天數
?>

進階:DateTime 類(PHP 5.3+)

$dt1 = new DateTime('1998-05-03');
$dt2 = new DateTime('1999-06-05');
$interval = $dt1->diff($dt2);
echo $interval->days; // 精確天數

注意事項

  • 時區設定:date_default_timezone_set('Asia/Taipei')。
  • 閏年、夏令時間等邊界情況建議使用 DateTime 處理。
  • 若需精確到時分秒,直接使用差值秒數或 DateInterval 格式化輸出。
原文僅給出開頭,此處補充完整實現邏輯與現代最佳實踐。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved