Mencari Jumlah Bulan dalam Selisi waktu [PHP]

Mencari Jumlah Bulan dalam Selisi waktu dalam PHP dapat di lakukan, Hal ini akan berguna jika anda membuat sistem perhitungan kakulasi denda perbulan, seperti pembayar pajak.  Tapi kasus ini sebenarnya sudah lama saya terapkan terhadap pembangunan perizinan Dishubkominfo Sumatera Barat, tapi kali ini ketemu lagi dalam pembangunan Sistem Informasi Perizinan Dishubkominfo Kota Padang, Walau alur nyaris sama tapi masing2 mempunyai perbedaan, ya lah kan sudah beda yang 1 provinsi, dan satu lagi Kota. tapi saya ngk bahas itu/
Berikut adalah potongan script yang mana dapat melakukan kalulasi jumlah bulan dalam selisih waktu.
Code :
function bulan($start, $end, $period = "day")
{
    $day = 0;
    $month = 0;
    $month_array = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    $datestart = strtotime($start);
    $dateend = strtotime($end);
    $month_start = strftime("%m", $datestart);
    $current_year = strftime("%y", $datestart);
    $diff = $dateend - $datestart;
    $date = $diff / (60 * 60 * 24);
    $day = $date;

    $awal = 1;

    while($date > 0)
    {
        if($awal)
        {
            $loop = $month_start - 1;
            $awal = 0;
        }
        else
        {
            $loop = 0;
        }
        for ($i = $loop; $i < 12; $i++)
        {
            if($current_year % 4 == 0 && $i == 1)
                $day_of_month = 29;
            else
                $day_of_month = $month_array[$i];

            $date -= $day_of_month;

            if($date <= 0)
            {
                if($date == 0)
                    $month++;
                break;
            }
            $month++;
        }

        $current_year++;
    }
    switch($period)
    {
        case "day"   : return $day; break;
        case "month" : return $month; break;
        case "year"  : return intval($month / 12); break;
    }
}
function kita beri nama "bulan" jadi untuk pemanggilan , cuma panggil bulan('tgl1','tgl2');
masih bingung langsung saja lihat demonya di sini : DEMO
Pada demo saya memberikan kode sebegai berikut :
$waktulahir = '1987-07-23';
$waktusekarang = '2013-07-23';
$jumlah = bulan($waktulahir, $waktusekarang);
echo " Tanggal Lahir $waktulahir - $waktusekarang = $jumlah" ;
bulan($waktulahir, $waktusekarang); << pemanggilan Function yang sudah kita buat tadi.

5 komentar

Click here for komentar
13 November 2014 19.49 ×

kodingan yg ane cari2 akhirnya ketemu juga disini. thanks mas !!!

Reply
avatar
13 November 2014 21.44 ×

Terima kasih mas, semoga membantu

Reply
avatar
5 Maret 2015 13.32 ×

terima kasih kodinganya kang...

Reply
avatar
27 Juni 2015 09.44 × Komentar ini telah dihapus oleh pengarang.
avatar
13 Mei 2017 11.00 ×

Artikelnya sangat untuk saya mengerjakan tugas
My blog

Reply
avatar

Berikan Komentar yang bermanfaat dan sehat. Conversion Conversion Emoticon Emoticon