acarreo, tienes que simplificar tu codigo como dice bokeauss...
Sumar una hora a todos los dias a partir del ultimo domingo de marzo hasta octubre (completo) quedaría una cosa así... (no he probado el codigo pero en principio tiene que funcionar)
if (month>=4 && month<=9){
hour++;
}
else if (month==3 && dayOfWeek ==1 && (dayOfMonth>=25){
hour++;
}