const rs = require("readline-sync");
// 根据用户输入的年月日输出第几天
// 欢迎
console.log("欢迎来到查询系统");
// 定义变量得到用户输入的年月日。
let year, month, date;
// 得到输入的年份
console.log("请输入你要查询的年份(2000-3000年):");
while (true) {
year = rs.question() - 0;
if (year >= 2000 && year <= 3000) {
break;
} else {
console.log("输入错误请重新输入(只能查询2000-3000年):");
continue;
}
}
// 得到月份
console.log("请输入你要查询的月份(1-12月):");
while (true) {
month = rs.question() - 0;
if (month >= 1 && month <= 12) {
break;
} else {
console.log("输入错误请重新输入(只能查询1-12月):");
continue;
}
}
// 得到日期
console.log("请输入你要查询的日期:");
// 判断小月日期是否输入正确
if (month == 4 || month == 6 || month == 9 || month == 11) {
while (true) {
date = rs.question() - 0;
if (date >= 1 && date <= 30) {
break;
} else {
console.log("输入错误请重新输入(只能查询1-30号):");
continue;
}
}
}
// 判断二月日期是否输入正确
else if (month == 2) {
date = rs.question() - 0;
if ((year % 4 == 0 && year % 100 == 0 || year % 400 == 0)) {
while (true) {
if (date >= 1 && date <= 29) {
break;
} else {
console.log("输入错误请重新输入(只能查询1-29号):");
continue;
}
}
} else {
while (true) {
if (date >= 1 && date <= 28) {
break;
} else {
console.log("输入错误请重新输入(只能查询1-28号):");
continue;
}
}
}
}
// 判断大月日期是否输入正确
else {
while (true) {
date = rs.question() - 0;
if (date >= 1 && date <= 31) {
break;
} else {
console.log("输入错误请重新输入(只能查询1-31号):");
continue;
}
}
}
// 计算输入的年月日是第几天
let monthTime = month - 1, sumDays = 0;
switch (monthTime) {
case 11: sumDays += 30;
case 10: sumDays += 31;
case 9: sumDays += 30;
case 8: sumDays += 31;
case 7: sumDays += 31;
case 6: sumDays += 30;
case 5: sumDays += 31;
case 4: sumDays += 30;
case 3: sumDays += 31;
case 2: if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
sumDays += 29;
} else {
sumDays += 28;
}
case 1: sumDays += 31;
case 0: sumDays += date;
}
// 输出结果
console.log(`您输入的${year}年${month}月${date}号是${year}年的第${sumDays}天。`);

js实现用户输入日期算出是今年的第几天的更多相关文章

  1. 验证Android用户输入日期

    如何验证用户输入的日期是有效还是无效? private Pattern pattern; private Matcher matcher; private static final String DA ...

  2. js处理用户输入的银行卡号实现四位一段,并且只能输入数字

    其中ABC是输入框的id.type="tel"可直接呼出数字键盘. <input type="tel" maxlength="24" ...

  3. SAP BDC 用户输入日期转系统日期格式: CONVERT_DATE_TO_EXTERNAL

    BDC中,日期输入格式不正确:可调用FM  CONVERT_DATE_TO_EXTERNAL DATA:l_bdcfield LIKE bdcdata-fval."BDC field val ...

  4. 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码

    2013-9-15 1.    CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...

  5. js快捷输入日期

    点击这里查看效果http://keleyi.com/keleyi/phtml/jstexiao/10.htm 以下式代码: <!DOCTYPE html> <html> < ...

  6. Date() 及其 如何验证用户输入的日期是合法的

    1.var someDate = new Date(Date.parse("May 25, 2004"));   <=>  var someDate = new Dat ...

  7. js正则实现用户输入银行卡号的控制及格式化

    //js正则实现用户输入银行卡号的控制及格式化 <script language="javascript" type="text/javascript"& ...

  8. js打印保存用户输入的内容

    在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...

  9. JS+PHP实现用户输入数字后取得最大的值并显示为第几个

    目的:分清JS PHP的区别,拓宽思维 分析 1.利用JS的prompt输入用户想要输入的值. 2.利用HTML表单的text标签将输入的值传递给PHP处理文件 3.PHP进行数值判定,选出最大值和位 ...

随机推荐

  1. #C++初学记录(ACM8-6-cf-f题)

    F. Vanya and Label While walking down the street Vanya saw a label "Hide&Seek". Becaus ...

  2. 2019_软工实践_Beta(3/5)

    队名:955 组长博客:点这里! 作业博客:点这里! 组员情况 组员1(组长):庄锡荣 过去两天完成了哪些任务 文字/口头描述 ? 维持进度,检查需求 展示GitHub当日代码/文档签入记录 接下来的 ...

  3. 搭建redis cluster集群服务

    redis 5.0以下为ruby编写,运行命令时需要安装ruby,而5.0以上则为c编写,可直接安装后运行.因此本文使用redis5.0.5 1.编写配置文件 在 /home 下新建 redis-cl ...

  4. eclipse没有server选项怎么解决

    eclipse没有server选项怎么解决 步骤: 1,在eclipse菜单“Help”中选择“InstallNew Software”如下图所示. 2,然后在Work with中点击Add,如下图所 ...

  5. java使用ssh连接Linux并执行命令

     方式1:通过设置账号密码和链接地址 maven pom.xml配置: <dependency>         <groupId>com.jcraft</groupId ...

  6. 常见的 35 个 Python 面试题及答案

    1. Python 面试问题及答案 作为一个 Python 新手,你必须熟悉基础知识.在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试.包括 Python 开发 ...

  7. 映美FP-530K+打印发票的各种经验

    本人虽然写了很多lodop博文,但是程序开发一般都是用虚拟打印机测试,实际打印机打印中还可能存在各种问题,毕竟理论都不如实践能获得更多的打印经验.当个人使用过的打印机不多,只有映美FP-530K+,用 ...

  8. css几个优先级测试和!important

    css样式不加!important情况下的有默认优先级 ,用!important提高优先级,最常见的css样式选择器的优先级测试.之前博文里也用到了提升优先级的方法: 测试结果:加了!importan ...

  9. mysql 的sql_model模式

    原文地址:https://blog.csdn.net/baidu_19338587/article/details/59483954 MySQL的sql_mode合理设置 sql_mode是个很容易被 ...

  10. python 包多熟悉一个干活就轻松点

    包管理 管理包和依赖的工具. pip – Python 包和依赖关系管理工具. pip-tools – 保证 Python 包依赖关系更新的一组工具. conda – 跨平台,Python 二进制包管 ...