比較PHP 中的日期:全面指南
在PHP 中處理日期時,您可能會遇到需要比較兩個日期以確定他們的相對順序。此任務可能具有挑戰性,尤其是當日期以非常規格式(例如“03_01_12”和“31_12_11”)呈現時。
解決方案:使用 DateTime::createFromFormat
為了準確比較不常見格式的日期,我們可以利用 DateTime::createFromFormat 函數。此函數允許我們指定自訂格式字串以將日期值解析為 DateTime 物件。
以下程式碼示範如何比較給定格式的日期:
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11"); var_dump($date1 > $date2);
這種方法的結果布林值,指示 $date1 是否大於 $date2。您可以使用 var_dump 語句進行偵錯,或將其替換為應用程式中的適當邏輯。
strtotime() 陷阱
問題中提供的程式碼嘗試使用strtotime(),通常用於將人類可讀的日期字串轉換為 Unix 時間戳。但是,strtotime() 需要標準化格式的日期,無法處理「03_01_12」等自訂格式。使用 DateTime::createFromFormat 透過允許您指定正在解析的日期的確切格式來克服此限制。
以上是如何在 PHP 中可靠地比較非常規格式的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!