ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

输入年月日,各种判断年份(平润年)来输出这是多少年的第几天

2022-02-02 21:00:55  阅读:207  来源: 互联网

标签:count case console log 第几天 day 年月日 month 平润


通过输入年月日,各种判断年份(平润年)来输出这是多少年的第几天

用switch方法1:

const readline = require('readline-sync');
console.log('请输入一个年份');
let year = readline.question();
let day, count, month;
if(year>=1&&year<=9999){
    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
        console.log('这是闰年,请输入一个月份');
        month = readline.question() - 0;
        switch (month) {
            case 1:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 31) {
                    count = parseInt(month / 2);
                    console.log(`这是这一年的第${day}天`);
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 31) {
                    count = parseInt(month / 2);
                    if (count <= 3) {
                        console.log(`这是这一年的第${(((count * 31) + (count * 30)) - 1) + day}天`);
                    } else {
                        console.log(`这是这一年的第${((((count - 1) * 30) + (count * 31)) - 1) + day}天`);
                    }
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 2:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 29) {
                    console.log(`这是这一年的第${31 + day}天`);
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 30) {
                    count = parseInt(month / 2);
                    if (count <= 3) {
                        console.log(`这是这一年的第${(((count * 31) + ((count - 1) * 30)) - 1) + day}天`);
                    } else {
                        console.log(`这是这一年的第${((((count - 1) * 30) + ((count + 1) * 31)) - 1) + day}天`);
                    }
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            default:
                console.log('输入的月份不合理');
        }
    
    } else {
        console.log('这是平年,请输入一个月份');
        month = readline.question() - 0;
        switch (month) {
            case 1:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 31) {
                    count = parseInt(month / 2);
                    console.log(`这是这一年的第${day}天`);
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 31) {
                    count = parseInt(month / 2);
                    if (count <= 3) {
                        console.log(`这是这一年的第${(((count * 31) + (count * 30)) - 2) + day}天`);
                    } else {
                        console.log(`这是这一年的第${((((count - 1) * 30) + (count * 31)) - 2) + day}天`);
                    }
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 2:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 28) {
                    console.log(`这是这一年的第${31 + day}天`);
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                console.log('请输入天数');
                day = readline.question() - 0;
                if (day >= 1 && day <= 30) {
                    count = parseInt(month / 2);
                    if (count <= 3) {
                        console.log(`这是这一年的第${(((count * 31) + ((count - 1) * 30)) - 2) + day}天`);
                    } else {
                        console.log(`这是这一年的第${((((count - 1) * 30) + ((count + 1) * 31)) - 2) + day}天`);
                    }
                } else {
                    console.log('输入的天数不合法');
                }
                break;
            default:
                console.log('输入的月份不合理');
    
        }
    }
}
else{
    console.log('输入的年份不合理');
}

用if方法2:

const readline = require('readline-sync')

let year, month, day;
let isRN = false;//控制是否是闰年
let flag = false;//控制是否输入的日期都正确
console.log('请输入年份');
year = readline.question() - 0;
if (year >= 1 && year <= 9999) {
    //判断是否是闰年
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        //是闰年
        isRN = true;
    }
    //判断月份是否正确
    console.log('请输入月份');
    month = readline.question() - 0;
    if (month >= 1 && month <= 12) {
        //判断天数是否正确
        console.log('请输入天数');
        day = readline.question() - 0;
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
            //1、3、5、7、8、10、12 
            if (day >= 1 && day <= 31) {
                console.log('所有日期全部输入正确');
                flag = true;
            } else {
                console.log('输入的天数不正确');
            }

        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            //4、6、9、11
            if (day >= 1 && day <= 30) {
                console.log('所有日期全部输入正确');
                flag = true;
            } else {
                console.log('输入的天数不正确');
            }
        } else if (month == 2) {
            //2
            if (isRN) {
                if (day >= 1 && day <= 29) {
                    console.log('所有日期全部输入正确');
                    flag = true;
                } else {
                    console.log('输入的天数不正确');
                }
            } else {
                if (day >= 1 && day <= 28) {
                    console.log('所有日期全部输入正确');
                    flag = true;
                } else {
                    console.log('输入的天数不正确');
                }
            }
        }
    } else {
        console.log('月份输入不合法');
    }



} else {
    console.log('输入的年份不正确');
}

if (flag) {
    let count = 0;
    let m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30, m12 = 31;
    switch (month) {
        case 1:
            count = day;
            break;
        case 2:
            count = m1 + day;
            break;
        case 3:
            count = m1 + m2 + day;
            break;
        case 4:
            count = m1 + m2 + m3 + day;
            break;
        case 5:
            count = m1 + m2 + m3 + m4 + day;
            break;
        case 6:
            count = m1 + m2 + m3 + m4 + m5 + day;
            break;
    }

    if (isRN && month > 2) {
        count += 1;
    }
    console.log(`${year}年${month}月${day}日是这一年的第${count}天`);
}

标签:count,case,console,log,第几天,day,年月日,month,平润
来源: https://blog.csdn.net/m0_62008199/article/details/122771934

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有