This seems to work consistently.
PHP Code:
public Test()
{
const iActionTime = 22;
new iHours , iMinutes , iSeconds , szTime[ 9 ] , iUnixTSNow , iUnixTSAction;
iUnixTSNow = parse_time( szTime , "%H:%M:%S" );
formatex( szTime , charsmax( szTime ) , "%d:%d:%d" , iActionTime , 0 , 0 );
iUnixTSAction = parse_time( szTime , "%H:%M:%S" );
iUnixTSAction -= iUnixTSNow;
iHours = ( iUnixTSAction / 3600 ) % 24;
iMinutes = ( iUnixTSAction / 60 ) % 60;
iSeconds = ( iUnixTSAction % 60 );
server_print( "%d hour%s, %d minute%s, %d second%s" , iHours , iHours == 1 ? "" : "s" , iMinutes , iMinutes == 1 ? "" : "s", iSeconds , iSeconds == 1 ? "" : "s" );
}
__________________