El error es bastante simple.
 
Mira la condición que has puesto: 
Código:
 if(((hr>=22)&&(hr<=0))&&(mn<30)){
  Ese código dice: "Si (hr es mayor que 22) y a la vez (hr es menor que 0)..." 
Si encuentras un número que sea mayor que 22 y menor que 0, avisa rápido, tendremos que cambiar todas las matemáticas del mundo! 
Más seriamente: Como te dije, para las horas de finalización deberías poner 24: "Si (hr > 22) Y (hr <24)"