Menghitung Selisih Tanggal Dengan PHP

Halo sobat MalasNgoding.com pada materi kali ini kita akan mengupas mengenai bagaimana sih cara menghitung selisih dari dua tanggal berbeda. Mengingat materi ini berkaitan dengan materi sebelumnya Saya berharap sobat sudah mengerti bagaimana penggunaan fungsi tanggal pada PHP.
Ada banyak cara yang menggunakan fungsi php dalam menghitung selisih tanggal. salah satunya menggunakan fungsi date_diff($datetime1, $datetime2
). Pada dasarnya selain dengan bantuan fungsi PHP bergantung pada bagaimana logika dalam memproses keperluan menghitung selisih hari.
Menghitung Selisih Tanggal Dengan PHP
Dalam materi ini akan kita bahasa beberapa kasus mengenai cara menghitung jumlah hari pada php. Contoh dalam penerapannya disini menggunakan inputan dua tanggal dan kita hitung selisih harinya Menghitung umur dan juga contoh lainnya.
Langsung saja kita ke contoh-contoh dalam menghitung selisih tanggal pada php.
Menghitung Umur dengan Menggunakan Fungsi date_diff
Berikut salah satu contoh menghitung selisih hari dalam menyelesaikan kasus jumlah umur (dalam hari) menggunakan PHP. Perhatikan kodingan berikut ini.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php // waktu lahir $tanggal_1 = date_create('1994-07-04'); // waktu sekarnag $tanggal_2 = date_create(); // date_diff adalah fungsi php dalam menghitung har $selisih = date_diff( $tanggal_1, $tanggal_2 ); echo $selisih->days." Hari"; // hasil 10722 Hari ?> |
Penjelesanan kodingan diatas :
$tanggal_1 = date_create('1994-07-04')
; adalah variabel yang menyimpan tanggal lahir$tanggal_2 = date_create();
adalah bariabel yang menyimpan tanggal sekarang,$selisih = date_diff( $tanggal_1, $tanggal_2 );
adalah fungsi php untuk menghitung selisih antara variabel tanggal_1 dan tanggal_2.$selisih->days
. adalah fungsi untuk mencetak dalam jumlah hari jika menggunakan tahun maka$selisih->y.
Menghitung Selisih Menggunakan Objek DateTime
Kasus yang kedua kita bisa menggunakan objek Datetime untuk menghitung selisih waktu pada PHP. Perhatikan kodingan berikut ini
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $tanggal_1 = new DateTime('1994-04-07'); $tanggal_2 = new DateTime(); $selisih = $tanggal_1->diff($tanggal_2); echo 'Umur saat ini : '; echo $selisih->y . ' tahun, '; echo $selisih->m . ' bulan, '; echo $selisih->d . ' hari, '; // hasil Umur saat ini : 29 tahun, 7 bulan, 4 hari, |
Penjelasan dari kodingan diatas adalah sebagai berikut:
$tanggal_1 = new DateTime('1994-04-07');
adalah variabel yang menyimpan tanggal lahir dengan menggunakan objek DateTime$tanggal_2 = new DateTime();
adalah variabel yang menyimpan tanggal sekarang menggunakan objek DateTime.$selisih = $tanggal_1->diff($tanggal_2)
; menghitung selisih tanggal_1 dan tanggal_2 menggunakna fungsi diff.- hasil yang ditampilkan mengacu pada kodingan diatas adalah umur saat ini : 29 tahun, 7 bulan, 4 hari.
Menghitung Selisih Dua Tanggal Berbeda
Contoh selanjutnya yaitu bagaimana menghitung selisih dari inputan dua tanggal berbeda menggunakan PHP. Perhatikan langkah-langkah berikut ini.
Membuat Form Inputan Dua Tanggal Berbeda
Langkah awal dalam kasus yaitu membuat dua buah form inputan untuk tanggal berbeda. Perhatikan kodingan berikut ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<!DOCTYPE html> <html lang="en"> <head> <title>Malasngoding.com - Menghitung Selisih Tanggal</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> </head> <body> <div class="container mt-3"> <div class="container mt-5 text-center"> <h1>Menghitung Selisih Tanggal</h1> <div class="card mt-5"> <div class="card-body mx-auto"> <form class="form-inline" method="GET" action=""> <label>Tanggal 1</label> <input type="date" name="tanggal_1" class="form-control mr-2" required> <label>Tanggal 2</label> <input type="date" name="tanggal_2" class="form-control mr-2" required> <br> <button name="submit" type="submit" class="btn btn-primary">Hitung</button> </form> </div> </div> </div> </div> </body> </html> |
Membuat Proses Inputan untuk Menghitung Selisih Tanggal
Perhatikan kodingan berikut untuk proses menghitung selisih dari kedua tanggal inputan pada form diatas.
1 2 3 4 5 6 7 8 9 10 11 |
<?php if (isset($_GET['submit'])) { $tanggal_1 = date_create($_GET['tanggal_1']); $tanggal_2 = date_create($_GET['tanggal_2']); $diff = date_diff($tanggal_1, $tanggal_2); $selisih = $diff->format('Selisih %R%a hari'); echo $tanggal_1->format('Y-m-d')."<br>"; echo $tanggal_2->format('Y-m-d')."<br>"; echo $selisih; } ?> |
Source Lengkap Menghitung Selisih tanggal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<!DOCTYPE html> <html lang="en"> <head> <title>Malasngoding.com - Menghitung Selisih Tanggal</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> </head> <body> <div class="container mt-3"> <div class="container mt-5 text-center"> <h1>Menghitung Selisih Tanggal</h1> <div class="card mt-5"> <div class="card-body mx-auto"> <form class="form-inline" method="GET" action=""> <label>Tanggal 1</label> <input type="date" name="tanggal_1" class="form-control mr-2" required> <label>Tanggal 2</label> <input type="date" name="tanggal_2" class="form-control mr-2" required> <br> <button name="submit" type="submit" class="btn btn-primary">Hitung</button> </form> </div> <?php if (isset($_GET['submit'])) { $tanggal_1 = date_create($_GET['tanggal_1']); $tanggal_2 = date_create($_GET['tanggal_2']); $diff = date_diff($tanggal_1, $tanggal_2); $selisih = $diff->format('Selisih %R%a hari'); echo $tanggal_1->format('Y-m-d')."<br>"; echo $tanggal_2->format('Y-m-d')."<br>"; echo $selisih; } ?> </div> </div> </div> </body> </html> |

Berikut penjelasan singkat mengenai kodingan diatas.
date_create()
adalah symtax untuk membuat sebuah objek DateTime.diff_date()
adalah syntax untuk menghitung selisih kedua tanggal berbeda.
Untuk lebih memahami format tanggal pada PHP Anda bisa membacanya didokumentasi yang disediakan PHP yaitu di link berikut https://www.php.net/manual/en/datetime.format.php
Oke sekian dulu materi tutorial ini, jika ada kasus penggunaan tanggal silahkan dikumentar untuk kita selesaikan bersama.
Tutorial Menarik Lainnya

Membuat Pie Chart Dengan PHP dan MySQL

Membuat Grafik dengan PHP MySQLI Chartjs

Membuat Dropdown Search Dengan PHP
