Menghitung selisih hari php

Menghitung selisih hari php

Tutorial PHP — Hai gengs, pada artikel kali ini kita akan mempelajari cara menghitung waktu dengan menggunakan PHP.

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">
<h2>Menghitung selisih waktu dengan PHP</h2>
<div class="card mt-5">
<div class="card-body mx-auto">
<form class="form-inline" method="post" action="">
<label for="date1">DateTime1&nbsp;</label>
<input type="date" name="date1" id="date1" class="form-control mr-2" required>
<label for="date2">DateTime2&nbsp;</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>

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.

Jika kalian bingung pada bagian “%R%a” berikut adalah penjelasannya.

Catatan: setiap karakter format harus diawali dengan tanda %

  • % — 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