new parse_time helper function