Bismillaahirrohmaanirrohiim…
Untuk mencari selisih tanggal di PHP dengan cepat dan mudah kita akan menggunakan fungsi “DateTime“.
$tgla = '2022-06-15'; $tglb = '2022-07-15'; $tgl1 = new DateTime($tgla); $tgl2 = new DateTime($tglb); $selisih = $tgl2->diff($tgl1); echo $selisih->days;//30 echo 'Selisih waktu 2 tanggal: '; echo $selisih->y . ' tahun, '; echo $selisih->m . ' bulan, '; echo $selisih->d . ' hari, '; echo $selisih->h . ' jam, '; echo $selisih->i . ' menit, '; echo $selisih->s . ' detik, '; //Selisih waktu 2 tanggal: 0 tahun, 1 bulan, 0 hari, 0 jam, 0 menit, 0 detik, echo 'Total selisih hari : ' . $selisih->days; //Total selisih hari : 30
Dengan menggunakan “DateTime” kita langsung bisa mengetahui selisih tanggal, bulan, tahun, bahkan sampai detik.
Selanjutnya untuk mendapatkan selisih tanggal dalam bentuk array, tinggal kita buat fungsinya seperti berikut:
function rangeDates($startDate, $endDate) { $dates = []; $startDate = strtotime($startDate); $endDate = strtotime($endDate); for ($i = $startDate; $i <= $endDate;$i += (86400)) { $dates[] = date('Y-m-d', $i); } return $dates; } $tgla = '2022-06-15'; $tglb = '2022-07-15'; $rangeDates = rangeDates($tgla, $tglb);
Hasilnya:
Array ( [0] => 2022-06-15 [1] => 2022-06-16 [2] => 2022-06-17 [3] => 2022-06-18 [4] => 2022-06-19 [5] => 2022-06-20 [6] => 2022-06-21 [7] => 2022-06-22 [8] => 2022-06-23 [9] => 2022-06-24 [10] => 2022-06-25 [11] => 2022-06-26 [12] => 2022-06-27 [13] => 2022-06-28 [14] => 2022-06-29 [15] => 2022-06-30 [16] => 2022-07-01 [17] => 2022-07-02 [18] => 2022-07-03 [19] => 2022-07-04 [20] => 2022-07-05 [21] => 2022-07-06 [22] => 2022-07-07 [23] => 2022-07-08 [24] => 2022-07-09 [25] => 2022-07-10 [26] => 2022-07-11 [27] => 2022-07-12 [28] => 2022-07-13 [29] => 2022-07-14 [30] => 2022-07-15 )
Nah, mudah bukan….
Semoga bermanfaat.