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
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