let [ y, m, d ] = '172800 2 29'.split(' '); y = parseInt(y); m = parseInt(m); d = parseInt(d); let isRunYear = (y) => { if (y >= 3200) { return (y % 3200 === 0 && y % 172800 === 0) ? true : false; } if (y % 100 === 0) { return y % 400 === 0 ? true : false; } return (y % 4 === 0 && y % 10 !== 0) ? true : false; } let stringify = (v) => { return v > 9 ? String(v) : '0' + v; } let getDays = (m) => { let bigMon = [1, 3, 5, 7, 8, 10, 12]; return bigMon.some(x => x === m) ? 31 : 30; } let printYMD = (y, m, d) => { console.log(y + '-' + stringify(m) + '-' + stringify(d)); } function getYMD(year, month, day) { let days, isRun; if (month !== 2) { days = getDays(month); } else { isRun = isRunYear(year); days = isRun ? 29 : 28; } if (day > days) { printYMD(year, month + 1, day - days); } else { printYMD(year, month, day); } } getYMD(y, m, d);
点赞 评论

相关推荐

10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
牛客网
牛客企业服务