<!DOCTYPE HTML>
<html>
<head>
<style>
table {
border-collapse: collapse;
}
td,
th {
border: 1px solid black;
padding: 3px;
text-align: center;
}
th {
font-weight: bold;
background-color: #E6E6E6;
}
</style>
<meta charset="utf-8">
</head>
<body>
<div id="calendar"></div>
<script>
'use strict';
function createCalendar(id, year, month) {
let elem = document.getElementById(id)
let table = '<table><tr><th>пн</th><th>вт</th><th>ср</th><th>чт</th><th>пт</th><th>сб</th><th>вс</th></tr>';
let day = new Date(year, month).getDay() || 7;
let lastDay = new Date(year, month + 1, 0).getDate();
let rows = Math.ceil( (lastDay-day) / 7) + 1;
for (let r = 0, d = 1; r < rows; r++) {
let tr = '<tr>';
for (let c = 0; c < 7; c++) {
let td = `<td>`;
let nDay = r * 7 + c + 1;
if ( (nDay >= day) && (nDay <= lastDay + 1)) {
td += d++;
}
td += `</td>`;
tr += td;
}
tr += '</tr>';
table += tr;
}
console.log(lastDay);
elem.innerHTML = table;
}
createCalendar('calendar', 2015, 10)
</script>
</body>
</html>