使用switch语句结构编写一段程序,根据用户输入的某一天:年year、月month和日 day,来计算该天是当年的第几天,并在页面上输出。需要考虑闰年、大小月的情况用JavaScript简单
时间: 2024-09-27 07:15:03 浏览: 36
java 输入某年某月某日,判断这一天是这一年的第几天
当然可以。在JavaScript中,你可以使用`switch`语句结合日期对象来实现这个功能。下面是一个简单的示例:
```javascript
function calculateDay(year, month, day) {
var dateObj = new Date(year, month - 1, day); // JavaScript月份从0开始计数,所以减1
// 判断是否为闰年
function isLeapYear(year) {
return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
}
if (!isLeapYear(year)) {
var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
} else { // 闰年
var daysInMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
}
let totalDays = 0;
for (let i = 0; i < month - 1; i++) {
totalDays += daysInMonth[i];
}
totalDays += day;
// switch 语句处理剩余的特殊情况(例如2月)
switch(month) {
case 2:
if (isLeapYear(year)) {
totalDays++;
}
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
// 这些都是31天的月份,不需要额外加1
break;
default:
console.log('Invalid month');
break;
}
return totalDays;
}
// 示例用法
let userInput = prompt('请输入年份、月份和日(如2023 2 16)');
let inputArray = userInput.split(' ');
console.log(`在${inputArray[0]}年${inputArray[1]}月${inputArray[2]}日是当年的第${calculateDay(+inputArray[0], +inputArray[1], +inputArray[2])}天`);
```
阅读全文