Menghitung Selisih Tanggal Dengan PHP
![menghitung selisih tanggal pada php](https://www.malasngoding.com/wp-content/uploads/2023/11/cover-menghitung-selisih-tanggal-dengan-php.jpg)
Halo sobat MalasNgoding.com, pada materi kali ini kita akan mengupas mengenai bagaimana sih cara menghitung selisih dari dua tanggal berbeda menggunakan php?
Mengingat materi ini berkaitan dengan materi sebelumnya, Saya berharap sobat sudah mengerti bagaimana penggunaan fungsi tanggal pada PHP.
Ada banyak cara yang bisa digunakan untuk menghitung selisih tanggal di PHP.
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.
Kita juga akan mencoba menghitung umur atau usia dengan php.
Langsung saja kita ke contoh-contoh dalam menghitung selisih tanggal atau waktu dengan 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 ?> |
Penjelasan 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.
Sangat mudah bukan?
Sekarang kita masuk ke contoh cara menghitung selisih waktu yang lain.
Menghitung Selisih Menggunakan Fungsi DateTime
Kasus yang kedua kita bisa menggunakan fungsi Datetime untuk menghitung selisih waktu pada PHP. Perhatikan kodingan berikut ini.
1 2 3 4 5 6 7 8 9 10 11 |
<?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 fungsiDateTime
$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 fungsidiff
.- hasil yang ditampilkan mengacu pada kodingan diatas adalah umur saat ini : 29 tahun, 7 bulan, 4 hari.
Menghitung Selisih Antar Dua Tanggal Berbeda
Contoh selanjutnya yaitu bagaimana menghitung selisih dari inputan dua tanggal berbeda menggunakan PHP.
Perhatikan langkah-langkah berikut ini.
Membuat 2 Form Inputan Tanggal
Langkah awal dalam contoh kasus ini 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/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/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> |
Pada kodingan di atas, kita membuat sebuah halaman yang berisikan 2 buah form inputan tanggal.
Selannjutnya kita buat proses perhitungan selisih waktu tanggalnya.
Membuat Proses Inputan untuk Menghitung Selisih Tanggal
Perhatikan kodingan berikut untuk proses menghitung selisih dari dua 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; } ?> |
Di sini, kita membuat pemeriksaan jika form di submit, maka perintah akan dijalankan.
Pertama kita simpan data yang di submit dari form ke dalam 2 buah variabel. yaitu variabel $tanggal_1
dan $tanggal2
.
Kemudian kita hitung selisih waktunya dengan perintah $diff = date_diff($tanggal_1, $tanggal_2);
.
Dan terakhir kita simpan hasil selisihnya dengan perintah $selisih = $diff->format('Selisih %R%a hari');
lalu kita tampilkan.
Oke coba kita jalankan,
![menghitung selisih tanggal dengan php menghitung selisih tanggal dengan php](https://www.malasngoding.com/wp-content/uploads/2023/11/menghitung-selisih-tanggal-1024x456.jpg)
Di sini saya coba mengisi tanggal 1 dengan tanggal 31-10-2023. dan tanggal 2 saya isi dengan 01-12-2023.
Maka hasilnya akan muncul Selisih +31 hari.
Berikut ini adalah coding lengkap dari tutorial cara menghitung selisih hari dengan php.
Source Code Contoh Menghitung Selisih tanggal dengan php
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/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/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 menghitung tanggal dengan PHP.
Jika ada kendala atau contoh kasus lainnya silahkan diskusi di komentar untuk kita selesaikan bersama.
Tutorial Menarik Lainnya
![membuat form login logout tanpa database](https://www.malasngoding.com/wp-content/uploads/2024/03/membuat-form-login-logout-tanpa-database-300x189.png)
Membuat Form Login Dengan PHP Tanpa Database
![Menghitung Selisih Waktu PHP](https://www.malasngoding.com/wp-content/uploads/2024/01/Menghitung-Selisih-Waktu-PHP-300x189.png)
![Menghitung Selisih Waktu PHP](https://www.malasngoding.com/wp-content/uploads/2024/01/Menghitung-Selisih-Waktu-PHP-300x189.png)
Menghitung Selisih Waktu Dengan PHP
![crud dengan ajax php mysqli](https://www.malasngoding.com/wp-content/uploads/2024/01/crud-dengan-ajax-php-mysqli-300x189.jpg)
![crud dengan ajax php mysqli](https://www.malasngoding.com/wp-content/uploads/2024/01/crud-dengan-ajax-php-mysqli-300x189.jpg)
Membuat CRUD menggunakan Ajax PHP – Hapus Data
![crud ajax php mysqli](https://www.malasngoding.com/wp-content/uploads/2024/01/crud-ajax-php-mysqli-1-300x189.jpg)
![crud ajax php mysqli](https://www.malasngoding.com/wp-content/uploads/2024/01/crud-ajax-php-mysqli-1-300x189.jpg)