function isLeapYear(year: number): boolean {
return (year % 4 === 0) && ((year % 100 !== 0) || (year % 400 === 0));
}
function getDayOfYear(year: number, month: number, day: number): number {
// cumulative days at the end of each month (non-leap year)
const days: number[] = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
if (isLeapYear(year) && month > 2) {
return days[month - 1] + day + 1;
}
return days[month - 1] + day;
}
const dayOfYear: number = getDayOfYear(2023, 5, 15);
console.log(dayOfYear);
/*
run:
135
*/