Banjarnegara, Jawa Tengah, Indonesia.
Cara Menghitung Selisih Tanggal Berbeda dengan PHP
Cara Menghitung Selisih Tanggal Berbeda dengan PHP – Pada tutorial sebelumnya kita telah membahas cara menghitung selisih hari dengan JavaScript, kali ini saya akan berbagi tutorial yang sama yaitu bagaimana cara menghitung selisih tanggal berbeda dengan menggunakan PHP. Meskipun demikian, tentu saja ada perbedaan antara tutorial sebelumnya.
Pada tutorial sebelumnya yang menggunakan JavaScript hanya menghitung selisih hari tanpa sabtu dan minggu, sedangkan pada tutorial kali ini kita menggunakan bahasa pemrograman PHP lengkap dengan sabtu dan minggu. Tanpa berlama-lama lagi, simak tutorial selengkapnya berikut ini.
Format Dasar Penulisan Class DateTime()
Untuk menghitung selisih tanngal dengan PHP sangatlah mudah, kita bisa memanfaatkan sebuah class bawaan dari PHP yaitu DateTime(). Format dasar penulisan class DateTime() adalah sebagai berikut.
<?php $date = new DateTime(); ?>
Class DateTime() di atas memiliki method bawaan yakni diff() yang dapat kita gunakan untuk membandingkan dua tanggal yang berbeda di PHP. Method diff() tersebut memiliki beberapa output berikut.
- d untuk menghitung selisih hari.
- m untuk menghitung selisih bulan.
- y untuk menghitung selisih tahun.
- h untuk menghitung selisih jam.
- i untuk menhitung selisih menit.
- s untuk menghitung selisih detik.
- days untuk menghitung total selisih hari.
Perbedaan d dan days tidak jauh berbeda yakni jika d digunakan untuk menghitung selisih hari dalam satu bulan maka days digunakan untuk menghitung total keseluruhan hari selama satu tahun atau lebih.
Cara Menghitung Selisih Tanggal Berbeda di PHP
Baiklah, tanpa berlama-lama lagi, berikut ini telah saya siapkan script PHP untuk menghitung selisih waktu dan tanggal berbeda. Silahkan buat file PHP baru dengan nama diff.php lalu copy pastekan kode PHP berikut.
<?php function count_diff(string $start, string $end): string { $start = new DateTime($start); $end = new DateTime($end); $result = $end->diff($start); return ($result->y < 10 ? '0'.$result->y : $result->y).' tahun '.($result->m < 10 ? '0'.$result->m : $result->m).' bulan '.($result->d < 10 ? '0'.$result->d : $result->d).' hari'; } echo count_diff('2019-09-01', '2023-01-28'); // 03 tahun 04 bulan 27 hari ?>
Kode di atas saya telah membuat function count_diff() dengan dua parameter $start dan $end yang masing-masing harus bertipe data string ketika kalian ingin menggunakan.
Parameter $start harus diisi dengan tanggal awal yang akan dihitung dan parameter $end harus diisi dengan tanggal akhir.
Cara menggunakannya cukup sederhana yakni hanya memanggil function count_diff() seperti di atas dan contoh hasil outputnya adalah 03 tahun 04 bulan 27 hari.
Penutup
Bagaimana, mudah bukan? Sekian dari tutorial dari saya pada kesempatan kali ini mengenai cara menghitung selisih tanggal berbeda dengan PHP dan semoga bermanfaat.