Disini kita akan menentukan tanggal awal dan tanggal akhir yang nantinya jumlah selisih hari akan dihitung oleh program yang kita buat.
Kita menggunakan fungsi
date_diff()
untuk menghitung selisih waktu dan dilanjut dengan membuat format penulisan yang akan ditampilkan kelayar browser.Baiklah, langsung saja berikut kode PHP-nya.
<?php
$selisih = 'Pilih tanggal terlebih dahulu';
if (isset($_POST['submit'])) {
$date1 = date_create($_POST['date1']);
$date2 = date_create($_POST['date2']);
$diff = date_diff($date1, $date2);
$selisih = $diff->format('Selisih %R%a hari');
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Menghitung selisih waktu dengan PHP</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
<div class="container mt-5 text-center">
<h1>Menghitung selisih waktu dengan PHP</h1>
<div class="card mt-5 pt-2">
<div class="card-body mx-auto">
<form class="form-inline" method="post" action="">
<label for="date1">DateTime1 </label>
<input type="date" name="date1" id="date1" class="form-control mr-2" required>
<label for="date2">DateTime2 </label>
<input type="date" name="date2" id="date2" class="form-control mr-2" required>
<button name="submit" type="submit" class="btn btn-primary">Hitung</button>
</form>
<br>
<h2><?= $selisih ?></h2>
</div>
</div>
</div>
</body>
</html>
Output:
Penjelasan:
<?php
$selisih = 'Pilih tanggal terlebih dahulu';
if (isset($_POST['submit'])) {
$date1 = date_create($_POST['date1']);
$date2 = date_create($_POST['date2']);
$diff = date_diff($date1, $date2);
$selisih = $diff->format('Selisih %R%a hari');
}
?>
Berikut penjelasan singkat untuk masing - masing fungsi diatas:
- date_create() : Membuat sebuah object DateTime baru.
- date_diff() : Menghitung selisih antara tanggal pertama dan tanggal kedua.
- $diff->format() : Mengembalikan tanggal yang diformat pada variabel $diff sesuai dengan format yang ditentukan.
Download source code disini.
Parameter | Desktripsi |
---|---|
format | Required. Menentukan formatnya, digunakan dalam format parameter string: |
% - Literal%
Y - tahun, setidaknya 2 digit dengan awalan nol (misalnya 03) y - tahun (misalnya 3) M - bulan, dengan awalan nol (misalnya 06) m - bulan (misalnya 6) D - hari, dengan awalan nol (misalnya 09) d - hari (misalnya 9) a - jumlah hari sebagai hasil dari date_diff()
H - jam, dengan awalan nol (misalnya 08, 23) h - jam (mis 8, 23) I - menit, dengan awalan nol (misalnya 08, 23) i - menit (mis 8, 23) S - detik, dengan awalan nol (misalnya 08, 23) s - detik (misalnya 8, 23) F - mikrodetik, minimal 6 digit (misalnya 004403, 235689) f - mikrodetik (misalnya 4403, 235689) R - sign "-" ketika negatif, "+ " ketika positif r - sign "-" ketika negatif, kosong ketika positif |
Catatan: setiap karakter format harus diawali dengan tanda %
0 Komentar