document.getElementById(id).innerHTML = "до входа "+(days != 0 ? ("0"
+ days).slice(-2) + ":" : "") + (hours!= 0 ? ("0" + hours).slice(-2) + ":" : "") + (minutes != 0 ? ("0" + minutes).slice(-2) + ":" : "") + seconds;
Но мне кажется, что такой формат не лучшая идея. Допустим до входа 4 дня и 1 час. Через 65 минут, до входа останется 3 дня 0 часов и 55 минут, и Ваш скрипт выведет 03:55 (часы же равны нулю). Я бы до этого момента проверял нужно выводить или нет.
Чтобы преобразовать 0:1:1 в 00:01:01, можно использовать ("0" + hours).slice(-2). То же повторить с минутами и секундами. Если значение двузначное, то оно не поменяется. Если однозначное, то добавится ведущий 0
"+(days != 0 ? ("0"
+ days).slice(-2) + ":" : "") + (hours!= 0 ? ("0" + hours).slice(-2) + ":" : "") + (minutes != 0 ? ("0" + minutes).slice(-2) + ":" : "") + seconds;
Но мне кажется, что такой формат не лучшая идея. Допустим до входа 4 дня и 1 час. Через 65 минут, до входа останется 3 дня 0 часов и 55 минут, и Ваш скрипт выведет 03:55 (часы же равны нулю). Я бы до этого момента проверял нужно выводить или нет.