PDA

View Full Version : time functions - please help


miz
02-01-2005, 11:22 PM
please help code this function as i cant do it alone
i got stuck

time format is : 13:59:27

13 hour - mean 1
59 mins
27 secs

now i want to take 2 times and make the diffrent
for exsample

i got $dbtime and time - now with the format i mention above

so i want to do :

$timeago = $timenow - $dbtime

so ill get anser like :

5 minutes, 34 secs AGO

now i did all but my problem is if i got things like that

timenow = 14:02:23
dbtime = 13:58:27

so its says 1 hours, bla bla
instead of 3 minutes and 56 secs

any ideas how to slove this problem ?

wow finally i did it :P


function timediff($dbtime , $timenow ='')
{
//db values
list($dbday, $dbmonth, $dbyear) = split('[.-]', $dbtime);
list($dbyear, $dbtimes) = split(' ', $dbyear);
list($dbhour, $dbminute, $dbsecond) = split(':', $dbtimes);
// timenow values
list($day, $month, $year) = split('[.-]', $timenow);
list($year, $times) = split(' ', $year);
list($hour, $minute, $second) = split(':', $times);

$dbtime = mktime(intval($dbhour), intval($dbminute), intval($dbsecond), intval($dbmonth), intval($dbday), intval($dbyear));

if ($timenow != '')
{
$timenow = mktime(intval($hour), intval($minute), intval($second), intval($month), intval($day), intval($year));
}
else {
$timenow = time();
}

$diff = $timenow-$dbtime;
$daysDiff = floor($diff/60/60/24);
$diff -= $daysDiff*60*60*24;
$hrsDiff = floor($diff/60/60);
$diff -= $hrsDiff*60*60;
$minsDiff = floor($diff/60);
$diff -= $minsDiff*60;
$secsDiff = $diff;

if($daysDiff == "0" && $hrsDiff != "0"){
$timesince = "$hrsDiff hours $minsDiff mins $secsDiff secs";
}
if($daysDiff == "0" && $hrsDiff == "0" && $minDiff != "0"){
$timesince = "$minsDiff mins $secsDiff secs";
}
if($daysDiff == "0" && $hrsDiff == "0" && $minDiff == "0" && $secsDiff != "0"){
$timesince = "$secsDiff secs";
}
if($daysDiff != "0"){
$timesince = "$daysDiff days $hrsDiff hours $minsDiff mins $secsDiff secs";
}

return $timesince;


}


if its helps so enjoy.

mods = you can close the thread