Afid Arifin – Cara Menghitung Selisih Tanggal Berbeda dengan PHP, halo sobat, sudah lama saya tidak update tutorial bahasa pemrograman PHP, kali ini saya akan berbagi tutorial bagaimana cara menghitung selisih tanggal berbeda dengan menggunakan PHP.

Format Dasar Penulisan Class DateTime()
Cara menghitung selisih datetime 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 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 dan semoga bermanfaat.