function printMonth(year, month) {
const first = new Date(year, month - 1, 1);
const daysInMonth = new Date(year, month, 0).getDate();
const monthName = first.toLocaleString("default", { month: "long" });
console.log(` ${monthName} ${year}`);
console.log("Su Mo Tu We Th Fr Sa");
// Sunday = 0, Monday = 1, ..., Saturday = 6
const offset = first.getDay();
let line = "";
for (let i = 0; i < offset; i++) {
line += " ";
}
for (let day = 1; day <= daysInMonth; day++) {
line += day.toString().padStart(2, " ") + " ";
if ((offset + day) % 7 === 0) {
console.log(line);
line = "";
}
}
if (line.length > 0) console.log(line);
}
printMonth(2026, 1);
/*
run:
January 2026
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
*/