問題:
如何比較PHP 中格式為「03_01_12」的兩個日期和「 31_12_11”?
嘗試1:
提供的程式碼:
$date1 = date('d_m_y'); $date2 = '31_12_11'; if (strtotime($date1) < strtotime($date2)) echo '1 is small ='.strtotime($date1), ','.$date1; else echo '2 is small ='.strtotime($date2), ','.$date2;
說明:
上面的程式碼嘗試使用strtotime() 函數比較日期,但它不起作用,因為它使用系統預設轉換的日期格式,而不是日期使用的自訂格式字串。
答案:
要正確地將日期與給定的自訂格式進行比較,您可以使用 DateTime::createFromFormat() 方法。以下是修改後的程式碼範例:
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11"); var_dump($date1 > $date2);
在此程式碼中:
以上是如何在 PHP 中比較日期與自訂「d_m_y」格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!