[Ask] sec2date php


Status
Not open for further replies.

xpreborn

Apprentice 1.0
Selamat siang semuanya,
Apa kahabar di tahun baru ini? semoga semuanya aman dan sehat,

Om saya izin bertanya lagi yah ini terkait sec2date php
Jadi, gini Om saya punya nilai hasil dari pengurangan (UNIX_TIMESTAMP() - UNIX_TIMESTAMP(awaldown)
yang hasilnya yaitu formatnya detik : 311 : 44 :59
Jadi saya ingin formatnya yaitu Hari : Jam : Menit contoh : 1 Hari 5 jam 44 menit misalnya,
Lalu saya ada dapat fungsi sec2date namun hasilnya tetap dalam detik, kira2 kurangnya dmn yach Om berikut kode saya :
Code:
<?php
----
----
{
---
----
$total = sec2date($totaldown);
----
----
---
----
}
function sec2date($secs)
{
    $sec = $secs%60;
    $hari = intval($secs/216000);
    $jam = intval($secs/3600);
    $menit = intval($secs/60)%60;
    $sec = ($sec < 10)?"0$sec":"$sec";
    $hari = ($hari < 10)?"0$hari":"$hari";
    $jam = ($jam < 10)?"0$jam":"$jam";
    $menit = ($menit < 10) ? "0$menit" : "$menit";
    return "$hari Hari : $jam Jam:$menit Menit:$sec Detik";
}
?>
 

indra

Apprentice 2.0
itu sudah hampir benar. cuma kurang pengurangan detiknya. jadinya kira-kira seperti ini

PHP:
function sec2date($secs)
{
$hari = floor($secs/216000);
$secs -= $hari * 216000;
$jam = floor($secs/3600);
$secs -= $jam * 3600;
$menit = floor($secs/60);
$secs -= $menit * 60;
$sec = $secs;

$sec = ($sec < 10)?"0$sec":"$sec";
$hari = ($hari < 10)?"0$hari":"$hari";
$jam = ($jam < 10)?"0$jam":"$jam";
$menit = ($menit < 10) ? "0$menit" : "$menit";
return "$hari Hari : $jam Jam:$menit Menit:$sec Detik";
}

NB: untested
 

xpreborn

Apprentice 1.0
Terimakasih banyak Om Indra, formatnya sdh bisa berubah,
Namun hasilnya beda dgn yg sebenarnya yach,
Misal contoh salah satu :
awaldown = 2015-12-11 15:31:26
lalu saya coba jalankan perhari ini hasilnya : 08 Hari : 23 Jam:04 Menit:12 Detik
Harusnya : 20 Hari : 5 Jam : 53 Meni : X detik
Apakah ini efek dari pengurangan yang saya lakukan sebelumnya dan tidak pengaruh dari fungsi sec2date nya ?
Pengurangannya terjadi seperti ini :
Code:
$query = "select *, (UNIX_TIMESTAMP() - UNIX_TIMESTAMP(awaldown) ) as totaldown from listcoba WHERE status = 'DOWN'
 

xpreborn

Apprentice 1.0
Wah terimakasih banyak Om @dpnux benar banget, sdh jln
Maaf berarti untuk yg ini saya yg salah hitung karena nilai itu saya ambil dari 3600X60

Om @indra dan Om @dpnux
Terimakasih banyak atas bantuannya, Fix

case closed
 
Status
Not open for further replies.

Top