题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
// 闰年二月29天,不是闰年二月28天
// splice数组函数,用于删除,新增,替换项,返回的是删除的项,会改变原数组
const days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function getDayNum(str) {
const arr = str.split(' ');
let count;
// 计算不是闰年会有多少天
days.splice(arr[1] - 1);
count = days.reduce((sum, item) => {
return sum + item
}, 0);
count += Number(arr[2]);
// 判断是否为闰年
if (judgeYear(Number(arr[0]))) {
// 判断是否大于2月
if (arr[1] > 2) {
count++;
}
}
return count;
}
// 判断是否为闰年
// 是4的倍数,不是100的倍数,或者是400的倍数
function judgeYear(num) {
if (
num % 4 === 0 && num % 100 !== 0 ||
num % 400 === 0
) {
return true;
}
return false;
}
const str = readline();
console.log(getDayNum(str));
// splice数组函数,用于删除,新增,替换项,返回的是删除的项,会改变原数组
const days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function getDayNum(str) {
const arr = str.split(' ');
let count;
// 计算不是闰年会有多少天
days.splice(arr[1] - 1);
count = days.reduce((sum, item) => {
return sum + item
}, 0);
count += Number(arr[2]);
// 判断是否为闰年
if (judgeYear(Number(arr[0]))) {
// 判断是否大于2月
if (arr[1] > 2) {
count++;
}
}
return count;
}
// 判断是否为闰年
// 是4的倍数,不是100的倍数,或者是400的倍数
function judgeYear(num) {
if (
num % 4 === 0 && num % 100 !== 0 ||
num % 400 === 0
) {
return true;
}
return false;
}
const str = readline();
console.log(getDayNum(str));