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. mvn pom文件引用顺序关系

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. iptables实现端口映射(本地和远程端口映射)

    说明:需要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,这就需要用到iptables的端口映射 实现:1. 需要先开启linux的数据转发功 ...

  3. /etc/bashrc

    [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[3 ...

  4. Activiti task claim concurrent

    Activiti task claim cocurrent - 国内版 Binghttps://cn.bing.com/search?q=Activiti+task+claim+cocurrent&a ...

  5. activiti 术语 国际化文件

    activiti-explorer editor-app 国际化文件 - 大强的博客 - CSDN博客https://blog.csdn.net/daqiang012/article/details/ ...

  6. implement a list using Rust

    Rust果然比較複雜,在經歷了n次compile fail,終于寫成了一個 list 難點: 對Rc<>的用法不熟悉.對borrow checker不夠熟悉 有些寫法可能還不是最短的 us ...

  7. 在Nginx容器安装Keepalived后端项目双机热备

    docker exec -it n1 bash apt-get update apt-get install keepalived apt-get install vim 再次之前要配置VIP虚拟IP ...

  8. RSA 签名、验证、加密、解密帮助类

    import java.io.IOException; import java.security.InvalidKeyException; import java.security.KeyFactor ...

  9. Python 初级 6 循环 (三)

    一.复习 1 计算循环(for循环) for looper in [1, 2, 3, 4, 5]: print("hello") 1) looper的值从第0个数1开始 2) 对应 ...

  10. (转载)PyTorch代码规范最佳实践和样式指南

    A PyTorch Tools, best practices & Styleguide 中文版:PyTorch代码规范最佳实践和样式指南 This is not an official st ...