Fungsi Tanggal Untuk Menghitung Waktu Yang Sedang Berjalan

Assalamu’alaikum Wr. Wb.

Kali ini saya akan share bagaimana cara nya membuat fungsi tanggal untuk menghitung berapa lama waktu yang telah berjalan setelah tanggal sebelumnya di inputkan. sebenarnya saya bingung untuk memberi judul postingan kali ini apa. . .  hahaha.

Sebelum beranjak lebih jauh sebagai gambaran fungsi ini saya gunakan menghitung lama waktu yang saya gunakan pada Sistem untuk mengetahui sudah berapa lama pesan masuk (kotak masuk) setelah dikirim oleh user lain ke Saya, kira-kira seperti itu.

Nah pada gambar itu ada waktu yang menunjukkan 9 jam dan 2 hari, fungsi itulah yang akan dibuat

 

<?php
function hitung_tanggal($tgl1, $tgl2){
$tgl1 = strtotime($tgl1);
$tgl2 = strtotime($tgl2);
$ambil_detik = abs($tgl1 - $tgl2);
$ambil_tahun = min(date("Y", $tgl1), date("Y", $tgl2));
$pecah_tanggal = mktime(0, 0, $ambil_detik, 1, 1, $ambil_tahun);
return array( "years" => date("Y", $pecah_tanggal) - $ambil_tahun, "months_total" => (date("Y", $pecah_tanggal) - $ambil_tahun) * 12 + date("n", $pecah_tanggal) - 1, "months" => date("n", $pecah_tanggal) - 1, "days_total" => floor($ambil_detik / (3600 * 24)), "days" => date("j", $pecah_tanggal) - 1, "hours_total" => floor($ambil_detik / 3600), "hours" => date("G", $pecah_tanggal), "minutes_total" => floor($ambil_detik / 60), "minutes" => (int) date("i", $pecah_tanggal), "seconds_total" => $ambil_detik, "seconds" => (int) date("s", $pecah_tanggal) );
}

$tgl1 = '2016-05-16 02:09:00';
$tgl2 = date("Y-m-d H:i:s");
$a = hitung_tanggal($tgl1, $tgl2);

if($a['years'] != '0'){
$tampil = $a['years'].' Tahun Yang Lalu';
}else if($a['years'] == '0' AND $a['months'] != '0'){
$tampil = $a['months'].' Bulan Yang Lalu';
}else if($a['years'] == '0' AND $a['months'] == '0' AND $a['days'] != '0'){
$tampil = $a['days'].' Hari Yang Lalu';
}else if($a['years'] == '0' AND $a['months'] == '0' AND $a['days'] == '0' AND $a['hours'] != '0'){
$tampil = $a['hours'].' Jam Yang Lalu';
}else if($a['years'] == '0' AND $a['months'] == '0' AND $a['days'] == '0' AND $a['hours'] == '0' AND $a['minutes'] != '0'){
$tampil = $a['minutes'].' Menit Yang Lalu';
}else if($a['years'] == '0' AND $a['months'] == '0' AND $a['days'] == '0' AND $a['hours'] == '0' AND $a['minutes'] == '0' AND $a['seconds'] != '0'){
$tampil = $a['seconds'].' Detik Yang Lalu';
}else{
$tampil = 'ERROR';
}
echo 'tanggal setting = '.$tgl1; echo '<br>';
echo 'tanggal hari ini = '.$tgl2; echo '<br>';
echo "Selisih = ".$a['years']." tahun ".$a['months']." bulan ".$a['days']." hari ".$a['hours']." jam ".$a['minutes']." menit ".$a['seconds']." detik";
echo "<br/>";
echo $tampil;
?>

untuk hasilnya kurang lebih seperti ini, silahkan dikembangkan untuk hasil yang lebih maksimal

tanggal setting = 2016-05-16 02:09:00
tanggal hari ini = 2016-05-16 10:48:25
Selisih = 0 tahun 0 bulan 0 hari 8 jam 39 menit 25 detik
8 Jam Yang Lalu

Demikian, semoga bermanfaat dan berkah 😀

Wassalamu’alaikum Wr. Wb

Recommended For You

About the Author: adyrhs

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *