Mengesahkan Rentetan Tarikh dengan Format Ditetapkan dalam PHP
Pendekatan semasa anda untuk mengesahkan rentetan tarikh menggunakan ungkapan biasa mungkin tidak selalu menghasilkan hasil yang tepat. Untuk menangani had ini, artikel ini membentangkan kaedah unggul menggunakan kelas DateTime PHP.
Menggunakan DateTime::createFromFormat()
PHP's DateTime::createFromFormat() menyediakan fungsi penyelesaian komprehensif untuk pengesahan rentetan tarikh dengan format tertentu. Dengan menghantar rentetan input dan format yang diingini kepada fungsi ini, anda boleh mendapatkan objek DateTime yang mewakili tarikh.
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); }
Pertimbangan Tambahan
Fungsi validateDate() menggunakan kriteria berikut untuk memastikan ketepatan:
Kes Ujian dan Demo
Ujian berikut kes mempamerkan kepelbagaian fungsi 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
Cuba demo dengan melawati pautan yang disediakan.
Kesimpulannya, DateTime::createFromFormat() menawarkan kaedah yang teguh untuk mengesahkan rentetan tarikh dalam PHP, memastikan ketepatan dan fleksibiliti dalam kod anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Rentetan Tarikh dengan Format Tertentu dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!