Categories: PHP

Mencari selisih tanggal di PHP cepat dan mudah

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
)
Selisih tanggal dengan strtotime
$tanggal_awal = '2025-02-04';
$timestamp_tanggal_awal = strtotime($tanggal_awal);
$seminggu_lalu = date('Y-m-d', strtotime('-1 week', $timestamp_tanggal_awal));
$sebulan_lalu = date('Y-m-d', strtotime('-1 months', $timestamp_tanggal_awal));
dst

Nah, mudah bukan….

Semoga bermanfaat.

Bagikan
rasupe

Recent Posts

CMS Website Desain Interior – PHP MySQL

CMS (Content Management System) Web untuk Desain Interior adalah solusi lengkap untuk mempresentasikan bisnis desain…

14 hours ago

Source code Template website sekolah dengan react js

Bismillaahirrohmaanirrohiim... Berikut ini source code yang dapat dimodifikasi untuk membuat front end website sekolah dengan…

3 weeks ago

Subdomain pada cyberpanel tidak dapat diakses

Bismillaahirrohmaanirrohiim... Jika domain dan sub domainnya berada dalam satu vps cyberpanel, maka seringkali jadi tidak…

3 weeks ago

10 Aplikasi Kasir Terbaik di Indonesia (2025)

Bismillaahirrohmaanirrohiim... Dalam era digital saat ini, penggunaan aplikasi kasir (Point of Sale/POS) menjadi solusi penting…

4 weeks ago

Website di aapanel sering mati sendiri

Bismillaahirrohmaanirrohiim... Saat browsing-browsing saya seringkali melihat iklan aapanel, sekilas membuat penasaran sampai akhirnya saya mencoba…

4 weeks ago

Reset password cyberpanel via SSH

Bismillaahirrohmaanirrohiim... Berikut ini perintah untuk reset password admin cyberpanel melalui SSH command line. pastikan login…

4 weeks ago