/*
This program determines the day of the week for January 1st of a given year.
Approach:
---------
JavaScript provides built‑in date/time handling through the Date object:
- new Date(year, monthIndex, day) : constructs a calendar date
(monthIndex is 0-based: 0 = January)
- date.getDay() : returns weekday number (0..6)
- date.toLocaleDateString() : can format the weekday name
getDay() meaning:
0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
This avoids manual calendar arithmetic and uses efficient built‑in routines.
*/
// Convert numeric weekday (0..6) to readable weekday name
function weekdayName(dayNum) {
const names = [
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"
];
return names[dayNum];
}
// Compute weekday of January 1st for a given year
function jan1Weekday(year) {
const dateValue = new Date(year, 0, 1); // January 1st of given year
const dayNum = dateValue.getDay(); // Built‑in weekday computation
return weekdayName(dayNum);
}
const year = 2026;
const result = jan1Weekday(year);
console.log(`January 1st, ${year} falls on a ${result}.`);
/*
run:
January 1st, 2026 falls on a Thursday.
*/