Memperluaskan Julat strtotime() untuk Tarikh Bersejarah
Masalah:
Anda' menggunakan semula strtotime() untuk menghuraikan tarikh dalam MySQL yang disimpan dalam format yyyy-mm-dd, tetapi anda telah menghadapi had di mana strtotime() tidak boleh memproses tarikh sebelum 1 Januari 1970.
Penyelesaian :
Untuk mengendalikan tarikh sebelum 1970, pertimbangkan pendekatan berikut:
Kemas kini versi dan platform PHP anda, kerana versi terdahulu dan sistem pengendalian mempunyai julat terhad.
Untuk tarikh di luar julat 13 Dis 1901 hingga 19 Jan 2038, gunakan objek DateTime PHP, yang menawarkan sokongan julat tarikh yang lebih luas.
Sampel Kod:
Prosedur:
$date = date_create($row['value']); if ($date) { echo date_format($date, "F j, Y"); } else { // Handle errors }
OOP:
try { $date = new DateTime($row['value']); echo $date->format("F j, Y"); } catch (Exception $e) { // Handle errors }
Dengan menggunakan teknik ini, anda boleh mengendalikan tarikh sebelum 1970 dengan berkesan tanpa mengubah struktur pangkalan data anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Tarikh Sebelum 1970 dengan `strtotime()` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!