Minggu, 16 Juni 2013

Menghitung Selisih dua tanggal dengan PHP

Sudah lama tidak menulis tutorial buat teman-teman penggemar PHP. Kebetulan nih ada sedikit waktu luang. Tadi pagi ada mahasiswa bimbingan yang sedang konsultasi Tugas Akhir. Dia membuat sebuah sistem informasi perpustakaan dan bertanya bagaimana sih cara menghitung lama pinjam buku di perpustakaan pada saat pengembalian buku yang sudah dipinjam anggota perpustakaan.
Saya balik nanya itu fungsinya untuk apa? Dia jawab itu untuk menghitung denda karena apabila ada anggota yang telat mengembalikan buku maka dikenakan denda Rp 1000 per hari.  (Matre juga nih petugas perpus hehehe). Tapi memang itu wajar diterapkan agar tidak ada anggota perpustakaan yang pinjam kelamaan (mending kelamaan, kalau buku perpus dibawa kabur..  gawat darurat, bisa bisa habis dech semua buku di perpustakaan );
Saya berikan jawaban dengan logika sederhana, kalau menghitung jumlah hari atau lama pinjam ya tinggal menghitung tanggal kembali dikurangi tanggal pinjam.  Mahasiswa koment lagi, masalahnya adalah tipe data tgl pinjam dan tgl kembali di MySQL itu DATE pak, bukan Integer, Jadi tidak bisa langsung dikurangi. (ternyata mahasiswa saya ini cukup cerdas juga hehehe), ya daripada dia pusing tujuh keliling dan penasaran terus akhirnya saya coba membuatkan tutorial untuk menghitung selisih hari antara 2 tanggal seperti berikut ini :
# Penjelasan dari coding di atas adalah :
  1. Baris ke 2-3 merupakan tanggal yang akan kita cari
  2. Baris 5-8 merupakan pemecahan bentuk tanggal pertama ($tgl1) menjadi variable-variabel
  3. Baris 10-13 merupakan pemecahan bentuk tanggal ($tgl2) kedua menjadi variabel-variabel
  4. Baris ke 15-16 merupakan penggunaan dari fungsi gregoriantojd()
  5. Baris ke 17 merupakan selisih dari hasil fungsi gregoriantojd() pada tanggal ke-2 dan ke-1.

1 komentar: