Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menambahkan Hari ke Tarikh dengan Betul dalam PHP dan Mengelakkan Isu Rollover?

Bagaimana untuk Menambahkan Hari ke Tarikh dengan Betul dalam PHP dan Mengelakkan Isu Rollover?

Barbara Streisand
Lepaskan: 2024-11-20 18:33:16
asal
421 orang telah melayarinya

How to Correctly Add a Day to a Date in PHP and Avoid Rollover Issues?

Menambah Hari ke Tarikh: Menyelesaikan Isu Pergeseran

Dalam PHP, menambah hari pada tarikh ialah operasi biasa. Walau bagaimanapun, isu timbul apabila menambah tarikh hampir penghujung bulan, kerana hasilnya mungkin tidak menggambarkan penggulingan yang dijangkakan.

Kod dan Isu Asal

Yang disediakan kod cuba menambah satu hari pada tarikh "2009-09-30 20:24:00". Malangnya, hasilnya mengembalikan tarikh "1970-01-01 17:33:29" dan bukannya "2009-10-01 20:24:00".

Penyelesaian

Isunya terletak pada cara PHP mengendalikan perwakilan rentetan tarikh. Daripada menggunakan strtotime untuk menghuraikan rentetan, pendekatan yang betul ialah menggunakan fungsi date_create_from_format untuk menjana objek DateTime.

Kod yang Diperbaiki

<?php
$stop_date = '2009-09-30 20:24:00';
$stop_date = date_create_from_format('Y-m-d H:i:s', $stop_date);
echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s');
$stop_date->modify('+1 day');
echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
?>
Salin selepas log masuk

Untuk PHP 5.2.0

Untuk versi PHP 5.2.0 dan kemudian, sintaks alternatif berikut boleh digunakan:

<?php
$stop_date = new DateTime('2009-09-30 20:24:00');
echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s'); 
$stop_date->modify('+1 day');
echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
?>
Salin selepas log masuk

Sintaks ini memulakan objek DateTime secara langsung, menawarkan pendekatan yang lebih berorientasikan objek.

Atas ialah kandungan terperinci Bagaimana untuk Menambahkan Hari ke Tarikh dengan Betul dalam PHP dan Mengelakkan Isu Rollover?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan