首頁 >後端開發 >php教程 >如何在 PHP 中比較日期與自訂「d_m_y」格式?

如何在 PHP 中比較日期與自訂「d_m_y」格式?

DDD
DDD原創
2024-12-29 16:31:11457瀏覽

How to Compare Dates with a Custom 'd_m_y' Format in PHP?

比較PHP 中的日期與自訂格式

問題:

如何比較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);

在此程式碼中:

  • $format 變數定義日期字串中使用的自訂日期格式。
  • DateTime ::createFromFormat(...) 使用指定的格式從日期字串建立兩個 DateTime 物件。
  • >運算子根據時間戳記比較 DateTime 對象,時間戳會自動轉換為相同的格式。
  • var_dump() 函數以人類可讀的格式輸出比較結果。

以上是如何在 PHP 中比較日期與自訂「d_m_y」格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn