Ada kalanya kita membutuhkan penghitungan durasi waktu untuk software kita. Biasanya untuk mengukur suatu kejadian sekuensial yang berbasis waktu. Contoh case yang sedang saya hadapi adalah bagaimana menghitung berapa lama komplain dari customer di-handle oleh tim customer service sampai closing. Penghitungan waktu ini digunakan untuk mengukur sejauh mana performance dari tim customer relation dalam menangani sebuah komplain dari customer yang dihitung berdasarkan durasi waktu penangangan komplain. Data waktu diperoleh setiap ada event yang masuk ke database (timestamp). Saya rasa untuk case lainnya hampir sama ya, bisa Anda sesuaikan dengan kebutuhan Anda
Baiklah, cara menghitung durasi waktu dengan PHP caranya relatif sederhana. Kuncinya adalah format waktu yang disesuaikan dengan sintaks pengurangan waktu. Untuk case saya, format waktu saya samakan dengan format waktu di database mysql, yakni “Y-m-d h:i:sa“. Untuk selengkapnya bisa disimak script PHP berikut ini (script basic, belum ambil data dari database)
<?php $waktustart=date("2019-08-02 04:16:10"); $waktuend=date("Y-m-d h:i:sa"); //echo $waktustart; //echo $waktuend; $datetime1 = new DateTime($waktustart);//start time $datetime2 = new DateTime($waktuend);//end time $durasi = $datetime1->diff($datetime2); echo $durasi->format('%Y tahun %m bulan %d hari %H jam %i menit %s detik'); ?>
Inti dari script di atas adalah mengurangkan waktu end dan waktu start dengan menggunakan function ‘diff‘ (baris ). Sedangkan function diff ini membutuhkan variabel dari instance ‘DateTime’ dengan format waktu tertentu (kita sesuaikan aja dengan format waktu di database MySQL)
Simpan script di atas dengan nama (misal) ‘hitungdurasi.php’ dab disimpan di active directory php Anda. Sebagai contoh kalau Anda menggunakan XAMPP sebagai server local di laptop Anda, maka Anda harus simpan file ‘hitungdurasi.php’ tadi di folder ‘htdocs’. Aktifkan web server Apache Anda (bisa melalui XAMPP Control Panel), kemudian ketikkan alamat ‘http://localhost/hitungdurasi.php’. Hasilnya kurang lebih tampak seperti gambar di bawah:
Mengitung Durasi Waktu dari Database MySQL
Bagi Anda yang langsung mengurangkan data waktu dari tabel MySQL bisa langsung isikan hasil query Anda ke variabel ‘$waktustart’ dan ‘$waktuend’ pada contoh source code di atas. Contohnya seperti ini
$conn = mysqli_connect($servername, $username, $password, $dbname); $sql="select * from `progresskomplain` where idkomplain='".$idkomplain."' and dept='ENG' and flag='accepted'"; $hasil=mysqli_query($conn,$sql); while($row=mysqli_fetch_array($hasil)){ $waktustart=$row['waktu']; }
Untuk script selanjutnya sama dengan dengan contoh selanjutnya tinggal disambung aja scripnya.
Demikian tutorial cara menghitung durasi waktu dengan PHP kali ini, semoga bermanfaat ….
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com