在PHP 中驗證具有規定格式的日期字串
目前使用正規表示式驗證日期字串的方法可能並不總是能產生準確的結果。為了解決這個限制,本文提出了一種使用 PHP 的 DateTime 類別的高階方法。
使用 DateTime::createFromFormat()
PHP 的 DateTime::createFromFormat() 函數提供特定格式的日期字串驗證的綜合解決方案。透過將輸入字串和所需的格式傳遞給此函數,您可以獲得表示日期的 DateTime 物件。
function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); // The Y ( 4 digits year ) returns TRUE for any integer with any number of digits so changing the comparison from == to === fixes the issue. return $d && strtolower($d->format($format)) === strtolower($date); }
其他注意事項
validateDate() 函數採用下列標準來確保精確度:
測試案例和演示
以下測試案例展示了validateDate() 函數的多功能性:
var_dump(validateDate('2013-13-01')); // false var_dump(validateDate('20132-13-01')); // false var_dump(validateDate('2013-11-32')); // false var_dump(validateDate('2012-2-25')); // false var_dump(validateDate('2013-12-01')); // true var_dump(validateDate('1970-12-01')); // true var_dump(validateDate('2012-02-29')); // true var_dump(validateDate('2012', 'Y')); // true var_dump(validateDate('12012', 'Y')); // false var_dump(validateDate('2013 DEC 1', 'Y M j')); // true嘗試通過🎜>嘗試通過訪問提供的連結進行演示。 總之,DateTime::createFromFormat() 提供了一種強大的方法來驗證 PHP 中的日期字串,確保程式碼的準確性和靈活性。
以上是如何在 PHP 中可靠地驗證特定格式的日期字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!