Я отправляю свой ответ:
Код должен быть изменен на:
if(timeOfDay >= 8 && timeOfDay < 16){
//day
}else if(timeOfDay >= 16 && timeOfDay < 20){
//afternoon
}else if(timeOfDay >= 20 && timeOfDay < 24){
//night
}else if(timeOfDay>=0 && timeOfDay<4){
//night
}
else if(timeOfDay >= 4 && timeOfDay < 8){
//dawn
}
предыдущим оператором if для night был (timeOfDay> = 20 && timeOfDay <4), что математически невозможно. Итак, система запуталась. </p>