Mencari Selisih Perbedaan Hari Antara Dua Tanggal Di PHP

Halo teman semua, kembali lagi di blog saya ini. Masih semangat buat koding ?? (sebenernya itu pertanyaan cocoknya ditujukan buat saya :D). Oke kali ini saya ingin berbagi satu tutorial tentang php. masalah yang saya temui kali ini berjaitan fungsi DateTime yang sudah disediakan oleh PHP. Saya ingin mencari selisih hari pada dua variabel date.

Langsung saja, setelah muter-muter di gugel, saya menemukan dua solusi yang sama-sama bagus dan sama-sama memiliki kekurangan.

  1. Solusi Pertama
    Solusi pertama yaitu dengan memaksimalkan fungsi strtotime. Jadi setelah kita menemukan selisih dari dua varibel tadi yang masih dalam bentuk tipe data strtotime. Maka hasil pencarian selisih tadi dikembalikan lagi ke variabel date. seperti ini kurang lebih contohnya.

    $lamanya=(((strtotime($_POST[‘var_besar’])-strtotime($_POST[‘var_kecil’]))/3600)/24/30/12);

    Kekurangan dari koding diatas yaitu hitungan satu tahunnya tidak pas 365 hari.

  2. Solusi Kedua
    Solusi kedua yaitu dengan memanfaatkan library yang sudah disediakan PHP yaitu DateTime. Berikut contoh kodingnya.
    $satu = new DateTime($_POST[‘var_besar’]);
    $dua = new DateTime($_POST[‘var_kecil’]);
    $perbedaan = ($satu->diff($dua)->format(“%a”))/365;
    Kekurangan dari koding ini berupa, kalau var_kecil lebih besar dari var_besar maka selisihnya tidak minus, malah akan mencari perbedaan yang sebaliknya.

Memang kesempurnaan hanya milik Allah SWT, kekurangan pasti milik kita. Nah disini saya menggabungkan kedua koding diatas sehingga mereka dapat saling mengisi satu sama lainnya :D.

Add a Comment

Your email address will not be published. Required fields are marked *