$time doesn't take a parameter o.O
$time($time) just returns $time so you can omit the first one.
$time(12:45:30) or whatever you in put just returns the same thing, it's entirely obsolete.
$time(lol) returns lol.
lol
I can't help with the requester as I don't really understand how a time can be "smaller" than another time. He also didn't specify if this is AM/PM format or 24 hour.
Is 1 am smaller than 10 pm? Well of course 1 is smaller than 10, though 1 am comes after 10 pm. Or maybe 1 am comes before 10 pm...it's all in how you look at it. In the 24 hour system the example still counts: is 01:00 smaller than 22:00? 22 is definitely bigger than 1, though 01:00 is further in time than 22:00. Or is it?
If the time numbers are always zero padded, like 01:55 instead of 1:55 then you can just use a regular if statement: //if 04:00 < 04:05 { do things }. It needs zero padding, because otherwise //if 1:55 < 11:55 { echo yes } would not echo. //if 01:55 < 11:55 { echo yes } would.
You can also use $duration on both and compare those (as $duration without second parameter returns number of seconds), you can do something with $ctime etc., there are a few ways.