输入2个日期 (年月日),计算两个日期相差多少天?
2021/6/22 0:00:27
本文主要是介绍输入2个日期 (年月日),计算两个日期相差多少天?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//方法一:使用内置函数
var a = window.prompt("按格式输入第一个年/月/日")
var b = window.prompt("按格式输入第二个年/月/日")
var d1 = Date.parse(a);// 返回一个毫秒数
var d2 = Date.parse(b);// 返回一个毫秒数
var resultTime = Math.abs(d1 - d2)//通过取绝对值,得到2个日期之差
var days = parseInt(resultTime / (24 * 60 * 60 * 1000))
document.write(`${a} - ${b} 之间相差${days}天!`)
//方法二:写成函数
function rq(y, m, d) {
var a, b, sum = 0, days, sum111;
for (b = m - 1; b >= 1; b--) {
switch (b) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: a = 31; break;
case 2: a = 28; break;
case 4:
case 6:
case 9:
case 11: a = 30; break;
default: document.write("输入错误,请输入1-12中的整数。"); break;
}
sum = sum + a;
}
// 每年的天数
sum = sum + d;
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
if (m > 2) {
sum = sum + 1;
}
}
return sum;
}
var y1 = parseInt(prompt('请输入第一个年')), m1 = parseInt(prompt('请输入第一个月')), d1 = parseInt(prompt('请输入第一个日'));
if (y1 % 4 == 0 && y1 % 100 != 0 || y1 % 400 == 0) {
// 一年剩余天数
var sum111;
sum111 = 366 - rq(y1, m1, d1);
console.log(sum111);
}
else {
sum111 = 365 - rq(y1, m1, d1);
console.log(sum111);
}
var y2 = parseInt(prompt('请输入第二个年')), m2 = parseInt(prompt('请输入第二个月')), d2 = parseInt(prompt('请输入第二个日'));
var sum1 = rq(y1, m1, d1);
var sum2 = rq(y2, m2, d2);
// 两种情况
if (y1 == y2) {
var days;
days = sum2 - sum1;
} else {
days = sum111 + sum2 + (y2 - y1 - 1) * 365;
var count = 0;
for (var i = y1 + 1; i < y2; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
count = count + 1;
}
}
days = days + count;
}
document.write(`它们相差${days}天`)
这篇关于输入2个日期 (年月日),计算两个日期相差多少天?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南