Selasa, 09 Desember 2014

Cara Mudah Menghitung Selisih Waktu Dengan PHP

Sebelum versi 5.3, untuk menghitung selisih waktu kita akan berkutat dengan fungsi strtotime dimana kurang lebih kita akan mengubah waktu awal dan waktu akhir ke dalam bentuk unixstamp kemudian dilakukan operasi pengurangan waktu akhir terhadap waktu awal untuk mendapatkan selisih waktu. Selisih waktu ini kemudian diubah kembali ke dalam bentuk tanggal normal dengan memanfaatkan fungsi date

 $kini = strtotime('now');//mendapatkan waktu sekarang  
 $kemarin = strtotime('yesterday');//mendapatkan waktu kemarin
 $selisih=$kini-$kemarin;//mendapatkan selisih waktu  
 $jam = round((($selisih % 604800)%86400)/3600);//contoh selisih dalam jam  

Pada PHP versi 5.3 dan yang lebih baru, penghitungan selisih waktu dilakukan lebih sederhana dan menggunakan lebih sedikit kode. Berikut ini contohnya:

 $kini = new DateTime('now');  
 $kemarin = new DateTime('yesterday');  
 echo $kemarin->diff($kini)->format('%a hari %h jam %i menit %s detik'); 


Sepintas terlihat tidak banyak perbedaan jumlah baris kode pada kedua jenis kode diatas. Namun jika diperhatikan lebih lanjut, pada PHP versi sebelum 5.3 untuk mencari selisih dalam menit, dan detik maka kita harus menambahkan baris baru yang mengandung faktor pembagian yang lebih rumit. Bandingkan dengan bagian kode pada PHP versi 5.3  akan terlihat bahwa untuk mencari selisih waktu menjadi lebih sederhana dan fungsional.
Posted in

4 komentar:

  1. terima kasih petunjuknya,
    setelah saya pakai untuk di bagian detik belum menampilkan hasil, ternyata dibagian % detik kurang huruf s, seharusnya %s detik

    BalasHapus