Saya mulai dengan tanggal 2010-05-01
dan berakhir dengan 2010-05-10
. Bagaimana saya bisa mengulang semua tanggal dalam PHP?
207
Membutuhkan PHP5.3:
$begin = new DateTime('2010-05-01');
$end = new DateTime('2010-05-10');
$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("l Y-m-d H:i:s\n");
}
Ini akan menampilkan semua hari dalam periode yang ditentukan antara $start
dan $end
. Jika Anda ingin memasukkan tanggal 10, atur $end
ke tanggal 11. Anda dapat menyesuaikan format sesuai keinginan Anda. Lihat Manual PHP untuk DatePeriod .
$begin->setTime(0,0); $end->setTime(12,0);
atau menginisialisasi dengan waktu hari dari tanggal mulai karena setiap waktu lebih lama dari tanggal akhir akan termasuk tanggal akhir dalam loop. Bukan perbaikan yang paling bergaya, tapi itu pilihan terbaik selama tidak ada bendera yang tepat.Ini juga termasuk tanggal terakhir
Jika Anda tidak perlu kencan terakhir hapus saja
=
dari kondisinya.sumber
$begin
akan berbeda setelah pengulangan. Loop ini memodifikasi objek yang dibuat olehnew DateTime( "2015-07-03" )
. Karenanya mengapa Anda harus menggunakan versi DateTimeImmutable. Tetapi Anda perlu beberapa modifikasi lebih lanjut untuk menggunakannya.Mengubah ke unix cap waktu membuat melakukan matematika tanggal lebih mudah di php:
Saat menggunakan PHP dengan zona waktu yang memiliki DST, pastikan untuk menambahkan waktu yang bukan 23:00, 00:00 atau 1:00 untuk melindungi dari berhari-hari melewatkan atau mengulangi.
sumber
Salin dari sampel php.net untuk rentang inklusif :
sumber
atau
sumber
Ini adalah satu lagi sederhana -
Contoh:
sumber
Pengguna fungsi ini: -
Panggilan penggunaan / fungsi: -
Meningkat satu hari: -
Tingkatkan Bulan: -
gunakan parameter ketiga jika Anda ingin mengatur format tanggal: -
sumber
ini caranya:
Hasil $ weekendsInMoth adalah serangkaian hari akhir pekan!
sumber
Anda dapat mengulangi seperti ini juga, Ini
$_POST['date']
dapat lekukan dari aplikasi atau situs web$_POST['date']
Anda. Selain itu, Anda juga dapat menempatkan string di sini"21-12-2019"
. Keduanya akan bekerja.sumber
Jika Anda menggunakan Laravel dan ingin menggunakan Karbon, solusi yang benar adalah sebagai berikut:
Ingatlah untuk menambahkan:
sumber
sumber