JS通过一个值与日期比较计算天数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS通过一个值与日期比较计算天数相关的知识,希望对你有一定的参考价值。

现有一个数据框,输入的是数值如1,2,3....12,即是多少个月,设为Y
还有一个是日期如2010-01-01类型的值,设为R

现要通过R中的月份与Y相加得出一个新的日期,这个日期再与当前日期相比较
,当然要考虑如果输入的日期R为2009-11-01,数值Y为6的情况

请问如何用JS来判断?

<SCRIPT LANGUAGE="javascript">
<!--
function deal()
//var Y = 6;
//var R ="2009-11-01";
var R = document.getElementById('date').value +'';
var Y = document.getElementById('month').value;

alert(R);
var year=R.substr(0,4);
var month=R.substr(5,2);
var day=R.substr(8,2);

if((parseInt(month)+parseInt(Y)) > 12)

year++;
month = parseInt(month) + parseInt(Y) - 12;
else
month = parseInt(month) + parseInt(Y);


alert(year+"-"+month+"-"+day);

R = new Date(year,month,day,00,00,00);
dateNow = new Date();

var diff = R.getTime() - dateNow.getTime()
var days = Math.floor(diff/(1000*60*60*24));
var str = "与今天相差" + days + "天"

if(R > dateNow)
alert("大于今天!"+"\n"+str);
else
alert("小于今天!"+"\n"+str);


//-->
</SCRIPT>

月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-01">
<input type="button" value="submit" onClick="deal()">

这样的吗
参考技术A 1.把开始时间和结束时间保存

var dateFrom = new Date(strFrom);
var dateTo = new Date(strTo);
2.计算时间差

var diff = dateTo.valueOf() - dateFrom.valueOf();
3.时间差转换为天数

var diff_day = parseInt(diff/(1000*60*60*24));
参考技术B 根据一楼帮你改的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body><script>
function deal()
var date = document.getElementById('date').value;
var month = document.getElementById('month').value;
var tmp = date.split('-');

var add = parseInt(month) + parseInt(tmp[1]);
if ( add > 12 )
tmp[0] = parseInt(tmp[0]) + 1;
tmp[1] = add%12;

var time = new Date(tmp[0],tmp[1],1);
var today = new Date();
var diff = time.getTime() - today.getTime()
var days = Math.floor(diff/(1000*60*60*24));
var str = "与今天相差" + days + "天" ;
alert(str);

</script>

月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-1">
<input type="button" value="submit" onClick="deal()">
</body>
</html>
参考技术C 简单写了下,不知道是不是你的意思

<script>
function deal()
var date = document.getElementById('date').value;
var month = document.getElementById('month').value;
var tmp = date.split('-');

var add = parseInt(month) + parseInt(tmp[1]);
if ( add > 12 )
tmp[0] = parseInt(tmp[0]) + 1;
tmp[1] = add%12;

alert(tmp.join('-'));

</script>

月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-1">
<input type="button" value="submit" onClick="deal()">

js计算两个日期相差的天数

参考技术A 这边写了代码,请保存为.html文件后测试
<html>
<body>
选择开始日期: <input type="date" id="start_date" />
选择结束日期: <input type="date" id="end_date" />
<hr/>
<button type="submit" onclick="end_date=new Date(document.getElementById('end_date').value);
start_date=new Date(document.getElementById('start_date').value);
document.getElementById('showhowmanyday').innerText=(end_date.getTime()-start_date.getTime())/(24*3600*1000)">计算两个日期相差的天数</button>
<h1 id="showhowmanyday"/>
</body>
</html>

以上是关于JS通过一个值与日期比较计算天数的主要内容,如果未能解决你的问题,请参考以下文章

js计算两个日期的天数差值

js计算两个月份之间的天数差。

关于如何通过日期计算天数

js计算两个日期间的所有日期

js 怎么计算 开始日期(2011-02-22)+天数(3)=结束日期(2011-02-24)

js怎么输出当前日期和指定日期的相隔天数?谢谢