PHP 時間比較:詳細指南
比較 PHP 中的時間可能是一項棘手的任務。本文將全面解釋如何使用各種方法有效比較時間。
當前解決方案的限制
問題中提供的程式碼片段,您嘗試在其中將$NowisTime 與$ThatTime 進行比較失敗,因為比較是在字串之間進行的。 PHP 的字串比較不能正確考慮時間差異。
使用時間戳記的解決方案
一種可靠的方法是使用mktime() 或strtotime 將兩個時間轉換為時間戳(),然後進行數值比較。以下修改後的程式碼示範了這一點:
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
在這種情況下,time() 傳回目前時間戳,strtotime() 將 $ThatTime 轉換為時間戳記。現在,比較變得簡單且準確。
使用 DateTime 的解決方案(具有時區感知)
PHP 的 DateTime 類別允許進行更複雜的考慮時區的時間比較。以下是如何使用它:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == ' ') { echo "OK"; }
diff()方法計算兩個DateTime物件之間的差異,format()方法以特定格式返回,例如這裡的'%R'表示正差或負差。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3