JavaScript计算两个日期之间相差天数
以下所用时间插件为laydate.js,可直接引用
废话不多说,直接上代码!!!
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>js计算相差天数</title>
<script src="https://www.layuicdn.com/laydate/laydate.js" charset="utf-8"></script>
</head>
<body>
<div>
<input type="text" id="dateInput" />
</div>
<script type="text/javascript">
laydate.render({
elem: '#dateInput',
type: 'date',
range: '~',
theme: 'molv',
max: 0,
done: function(value, value1, value2) {
//console.log(value, value1, value2)
var date = value.split(' ~ ');
console.log(date);
if (date.length == 1) {
alert('日期不能为空');
return false;
};
getDaysBetween(date[0], date[1])
}
});
//开始与结束日期格式为:yyyy-MM-dd~yyyy-MM-dd,
//如果日期格式为yyyy-MM-dd HH:mm:ss则返回的天数即有小数,可另计算
function getDaysBetween(dateString1, dateString2) {
var startDate = Date.parse(dateString1);
var endDate = Date.parse(dateString2);
//如果开始日期大于结束日期
if (startDate > endDate) {
return 0;
};
//如果开始日期等于结束日期
// if (startDate == endDate) {
// return 1;
// }
var days = (endDate - startDate) / (1 * 24 * 60 * 60 * 1000);
alert(`所选日期之间相差${days}天`);
}
</script>
</body>
</html>