Menentukan Tarikh dengan Bilangan Hari Offset
Soalan ini berkaitan dengan mengubah suai tarikh dengan menambahkan bilangan hari yang ditentukan pada tarikh semasa . Walau bagaimanapun, kod yang diberikan menghasilkan hasil berangka yang tidak dijangka dan bukannya tarikh yang dikehendaki.
Penyelesaian
Kod yang menangani isu ini ialah:
echo date('Y-m-d', strtotime("+30 days"));
Penjelasan
Fungsi strtotime jangkakan rentetan dalam format tarikh Inggeris AS dan menghuraikannya ke dalam cap waktu Unix, yang mewakili bilangan saat sejak titik masa tertentu (1 Januari 1970). Ungkapan " 30 hari" menunjukkan bahawa 30 hari harus ditambah pada masa semasa.
Sebaliknya, fungsi tarikh memformat cap masa mengikut rentetan format yang ditentukan. Dalam kes ini, 'Y-m-d' mewakili format untuk tarikh output.
Analisis Ralat
Kod asal menggunakan strtotime untuk mengubah suai rentetan tarikh semasa dengan menambahkan " $ i hari" kepadanya. Walau bagaimanapun, pendekatan ini tidak betul kerana strtotime memerlukan format tarikh tertentu, bukan rentetan yang mewakili tarikh.
Sumber Tambahan
Rujuk halaman manual berikut untuk maklumat lanjut :
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Hari dengan Benar pada Tarikh dalam PHP Menggunakan `strtotime` dan `date`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!