Vous pouvez utiliser strtotime() pour le calcul du temps. Voici un exemple :
$checkTime = strtotime('09:00:59');
echo 'Check Time : '.date('H:i:s', $checkTime);
echo '<hr>';
$loginTime = strtotime('09:01:00');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!'; echo '<br>';
echo 'Time diff in sec: '.abs($diff);
echo '<hr>';
$loginTime = strtotime('09:00:59');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!';
echo '<hr>';
$loginTime = strtotime('09:00:00');
$diff = $checkTime - $loginTime;
echo 'Login Time : '.date('H:i:s', $loginTime).'<br>';
echo ($diff < 0)? 'Late!' : 'Right time!';
Démo
Vérifiez la question déjà posée - comment obtenir le décalage horaire en minutes :
Soustrayez le plus passé du plus futur et divisez par 60.
Les heures sont au format Unix, elles ne sont donc qu'un grand nombre indiquant le nombre de secondes à partir du 1er janvier 1970 à 00:00:00 GMT