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

PHP 時間比較與日期差值計算:strtotime、mktime、ceil 完整實戰指南

     編輯:PHP 相關知識

PHP 時間比較核心原則:統一轉為 Unix Timestamp (秒數) 再比較。善用 strtotime() 解析英文時間字串、mktime() 組裝時間、ceil() 計算天數差。

核心函式速查

函式用途
strtotime($time, $now?)英文時間字串 → Timestamp (支援相對時間如 "+1 day")
mktime(h,m,s,mon,day,year)指定日期時間組裝 Timestamp (參數可從右往左省略)
date($format, $ts)Timestamp → 格式化字串
ceil($float)無條件進位 (計算天數必備)

比較兩個絕對時間

$t1 = date('Y-m-d H:i:s');
$t2 = '2010-11-29 21:07:00';
if (strtotime($t1) < strtotime($t2)) {
echo "$t1 早於 $t2";
} else {
echo "$t2 早於 $t1";
}

倒數計算器:距離指定日期還有幾天

$now = strtotime(date('Y-m-d H:i:s'));
$target = strtotime('2011-02-03 23:59:59');
$days = ceil(($target - $now) / 86400); // 86400 = 60*60*24
echo "離過年還有 $days 天!";

strtotime() 解析規則補充

  • 支援相對格式:next Monday、+2 weeks、first day of next month。
  • 第二參數 $now 為基準時間 (預設 time()),僅對相對格式生效。
  • 無法解析時回傳 false (PHP 5.1+),舊版回傳 -1,請嚴謹判斷。

時區陷阱

所有時間函式受 date.timezone (php.ini) 或 date_default_timezone_set() 影響,跨時區專案務必統一設定 UTC 存儲、顯示時再轉換。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved