Таймер с изменение слов

Есть таймер, нужно сделать так, чтобы слова тоже менялись. Например: 1 день-2 дня-5 дней, 1 час-2 часа-5 часов и т.д.

<p id="demo"></p>
<script>
    var countDownDate = new Date(2020, 9, 10, 2, 0, 0, 0).getTime();
    var x = setInterval(function() 
    {
        var now = new Date().getTime();
        var distance = countDownDate - now;
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);
        document.getElementById("demo").innerHTML = days + " дней " + hours + " часов "
        + minutes + " минут " + seconds + " секунд ";
        if (distance < 0) {
            clearInterval(x);
            document.getElementById("demo").innerHTML = "Время истекло";
        }
    }, 1000);

Ответы (1 шт):

Автор решения: Zhihar

т.е. нужна такая вещь?

function declensions(value, variants) {
    if (((value % 100 >= 5) && (value % 100 <= 20)) || (value % 10 == 0))
        return variants[2];
        
    if (value % 10 == 1)
        return variants[0];
        
    return (value % 10 >= 5) ? variants[2] : variants[1];   
}

console.log(declensions(0, ["день", "дня", "дней"]));
→ Ссылка