подскажите почему не обрабатывается третье условие else if и может гдето ошибка

Код:
currentTime = new Date();
launchedDate = new Date (2005, 10, 25);
days = (launchedDate - currentTime) / 1000 / 60 / 60 / 24;
daysRound = Math.floor(days)-30;
ft=Math.floor(daysRound/100);
if (daysRound > 100) {
st=Math.floor(Math.abs ((daysRound-100)/10));
}
else {
st=Math.floor(daysRound/10);
}
tt=daysRound-ft*100-st*10;
if((tt==1 and daysRound<11) or (tt==1 and (20<daysRound<111)) or (tt==1 and daysRound>120)){
tex = "день";
}
else if(((2<=tt<=4) and daysRound<11) or ((2<=tt<=4) and (20<daysRound<111)) or ((2<=tt<=4) and daysRound>120)){
tex = "дня";
}
else if((5<=tt<=9) or tt==0 or (11<=daysRound<=20) or (111<=daysRound<=120)){
tex = "днів";
}
спасибо