Menghitung Selisih Antara Dua Tanggal Dengan Php

Tutorial ini akan menunjukan bagaimana cara menghitung selisih antara dua tanggal di php.

Disini kita akan menggunakan dua cara ,yang pertama menggunakan strtotime dan kedua menggunakan fungsi diff().

Cara Pertama.

<?php 
$tgl1 = strtotime("2020-01-01"); 
$tgl2 = strtotime("2020-01-20"); 

$jarak = $tgl2 - $tgl1;

$hari = $jarak / 60 / 60 / 24;
echo $hari;
?>

Cara pertama ini kita mengkonversi kedua tanggal menjadi detik dengan fungsi strtotime ,kemudian mengurangkan keduanya ,terakhir kita konversi detik.Untuk contoh diatas kita konversi menjadi hari.

Sekedar catatan strtotime hanya mencakup mulai dari tanggal 1 Januari 1970,jadi kurang cocok untuk menghitung umur jika dibawah tanggal tersebut.

Cara Kedua

<?php 
$tgl1 = new DateTime("2020-01-01");
$tgl2 = new DateTime("2020-01-20");
$jarak = $tgl2->diff($tgl1);

echo $jarak->d;
?>

Untuk cara kedua kita menggunakan fungsi diff(),fungsi diff() memiliki beberapa keluaran seperti contoh diatas kita menggunakan ->d untuk hari.Untuk yang lain bisa dilihat dibawah:

  1. d untuk selisih hari.
  2. m untuk selisih bulan.
  3. y untuk selisih tahun.
  4. h untuk jam.
  5. i untuk menit.
  6. s untuk detik.
  7. invert bernilai 0 atau 1,0 jika tanggal yang dikurangkan lebih kecil dari tanggal pengurang begitu juga sebaliknya.
  8. days untuk menghitung total selisih hari.

Jika dilihat d dan days sama-sama menunjukan selisih hari,bedanya days mengeluarkan total jadi kalau kita menggurangkan 2020-02-2020 dengan 2020-01-01 maka akan keluar 50,kalau menggunakan d akan tetap mengeluarkan 19.

Sekian tutorial kali ini jika ada yang kurang dipahami,silahkan tanyakan dibawah.