Penggunaan fungsi DIFF pada PHP

Kok error ya? Mohon bantuannya Fatal error: Call to undefined method DateTime::diff() in C:\xampp\htdocs\tesnan\index.php on line 4

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

Penggunaan fungsi DIFF pada PHP

@Nandar

647 Kontribusi 204 Poin

Dipost: 5 tahun yang lalu Update 2 tahun yang lalu


Jawaban Terpilih

Penggunaan fungsi DIFF pada PHP

@hilmanski

2497 Kontribusi 2067 Poin

Dipost: 5 tahun yang lalu Update 5 tahun yang lalu

Jawaban

Saya nggak pernah pakek method diff di DateTime sih, cuman kalau dilihat dari pesan errornya, mungkin fungsi diff nggak tersedia di objek DateTime.

@dalikewara

351 Kontribusi 260 Poin

Dipost: 5 tahun yang lalu


Biasanya pakai method apa?

@Nandar

647 Kontribusi 204 Poin

Dipost: 5 tahun yang lalu


Penggunaan fungsi DIFF pada PHP

@hilmanski

2497 Kontribusi 2067 Poin

Dipost: 5 tahun yang lalu


Cara mengatasinya gimana ya mas?

@Nandar

647 Kontribusi 204 Poin

Dipost: 5 tahun yang lalu


update versi php nya kalau mau make metode diff()

Penggunaan fungsi DIFF pada PHP

@hilmanski

2497 Kontribusi 2067 Poin

Dipost: 5 tahun yang lalu


ga bisa mas, soalnya ini punya perusahaan ada solusi lain mas?

@Nandar

647 Kontribusi 204 Poin

Dipost: 5 tahun yang lalu


Penggunaan fungsi DIFF pada PHP

@hilmanski

2497 Kontribusi 2067 Poin

Dipost: 5 tahun yang lalu Update 5 tahun yang lalu


hehe kan saya programmer baru mas, takut ada yg berubah karena sistem ini udah berjalan dari 2008. terimakasih mas, saya coba dulu.

@Nandar

647 Kontribusi 204 Poin

Dipost: 5 tahun yang lalu


Login untuk gabung berdiskusi

Penggunaan fungsi DIFF pada 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.