Как создать красивую объединённую таблицу
Чёт совсем не понимаю как вывести красивую табличку, сверху месяц общий для всех его дней - снизу дни. Написал кое-какое поделие, но оно не работает если в последнем месяце меньше 2 дней.
Или кто-нибудь покажет как правильно нужно это делать.
let start = 1674777600;
start = new Date(start*1000);
let now = new Date(1675641600*1000); // РАБОТАЕТ
// let now = new Date(1675209600*1000); // НЕ РАБОТАЕТ
let loop = new Date(start);
let tableMonth = '';
let tableDay = '<tr>';
let pointMonth = 0;
let pointMonth_date = loop.getUTCMonth();
while (loop <= now) {
if (loop < now && pointMonth !== 0 && pointMonth_date != loop.getUTCMonth()) {
pointMonth_date = loop.getUTCMonth();
tableMonth += `<td colspan="${pointMonth}">${loop.getUTCMonth()}</td>`;
pointMonth = 1;
} else {
pointMonth++;
if (loop >= now) {
tableMonth += `<td colspan="${pointMonth-1}">${loop.getUTCMonth()+1}</td>`;
}
}
tableDay += `<td>${loop.getUTCDate()}</td>`;
let newLoop = loop.setDate(loop.getDate()+1);
loop = new Date(newLoop);
}
tableMonth += '</tr>';
tableDay += '</tr>';
document.querySelector('.grant_table table').insertAdjacentHTML("afterbegin", tableMonth+tableDay);
<div class="grant_table">
<table></table>
</div>
