how to calculate date more than 24 hours?

what is the problem in this command ?
if the time more than 24 hours i got the error message but less than 24 it is working ?if (Currentuserlevel() == 6){//presentage officer
$rsnew[‘actiontakendate’] = ew_CurrentDateTime();
$rsnew[‘actiondoneby’] = CurrentUserID();
$rsnew[‘resevstate’]=“done”;
$time_a = ($rsnew[“insecresevdate”] != “”) ? $rsnew[“insecresevdate”] : $rsold[“insecresevdate”]; // start time field
$time_b = ($rsnew[“actiontakendate”] != “”) ? $rsnew[“actiontakendate”] : $rsold[“actiontakendate”]; // end time field
$Interval = ew_DateDiff($time_a, $time_b,“d”);
$rsnew[‘accesstime’]= $Interval;
if ($rsnew[‘accesstime’] > $rsold[‘duehours’]){
$rsnew[‘actionstate’]=“late”;
}else{
if ($rsnew[‘accesstime’] < $rsold[‘duehours’]){
$rsnew[‘actionstate’]=“on time”;
return TRUE;
}
}
}
}
}
}
}

You may try to debug your code by checking your time values, e.g.$time_a = ($rsnew[“insecresevdate”] != “”) ? $rsnew[“insecresevdate”] : $rsold[“insecresevdate”]; // start time field
$time_b = ($rsnew[“actiontakendate”] != “”) ? $rsnew[“actiontakendate”] : $rsold[“actiontakendate”]; // end time field
var_dump($time_a, $time_b);
die();

finally after some tries i got the mistake :
i forgot to putreturn TRUE;if (Currentuserlevel() == 6){//presentage officer
$rsnew[‘actiontakendate’] = ew_CurrentDateTime();
$rsnew[‘actiondoneby’] = CurrentUserID();
$rsnew[‘resevstate’]=“done”;
$time_a = ($rsnew[“insecresevdate”] != “”) ? $rsnew[“insecresevdate”] : $rsold[“insecresevdate”]; // start time field
$time_b = ($rsnew[“actiontakendate”] != “”) ? $rsnew[“actiontakendate”] : $rsold[“actiontakendate”]; // end time field
$Interval = ew_DateDiff($time_a, $time_b,“d”);
$rsnew[‘accesstime’]= $Interval;
if ($rsnew[‘accesstime’] > $rsold[‘duehours’]){
$rsnew[‘actionstate’]=“late”;
return TRUE; // i forgot to add this line <<<<<<<<<<
}else{
if ($rsnew[‘accesstime’] < $rsold[‘duehours’]){
$rsnew[‘actionstate’]=“on time”;
return TRUE;
}
}
}