使用javascript计算两个日期之间的天数
我想要这段代码来计算两个日期之间的天数。但它不起作用。我试图找出一个错误,但失败了。谁能帮忙吗。我检查了代码,但没有发现问题。但是计算器仍然不工作使用javascript计算两个日期之间的天数,javascript,html,forms,Javascript,Html,Forms,我想要这段代码来计算两个日期之间的天数。但它不起作用。我试图找出一个错误,但失败了。谁能帮忙吗。我检查了代码,但没有发现问题。但是计算器仍然不工作 <!DOCTYPE html> <html><head> <meta charset="utf-8" /> <title>jQuery UI Datepicker - Default functionality</title> <lin
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<title>jQuery UI Datepicker - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
.ui-datepicker {font-size:11px;}
</style>
<script>
$(function() {
$( "#from" ).datepicker();
});
$(function() {
$( "#to" ).datepicker();
});
</script>
</head><body>
<form class="formwhite">
<table><tr><td>From:</td><td><input type="text" id="from" onKeyUp="calculate();" />
</td></tr>
<tr><td>To:</td><td><input type="text" id="to" onKeyUp="calculate();" /></td></tr>
</table>
</form>
<span id="result"></span>
<script>
var calculate = function() {
var from = document.getElementById("from").value;
var fromdate = from.slice(3, 5);
fromdate = parseInt(fromdate);
var frommonth = from.slice(0, 2);
frommonth = parseInt(frommonth);
var fromyear = from.slice(6, 10);
fromyear = parseInt(fromyear);
var to = document.getElementById("to").value;
var todate = to.slice(3, 5);
todate = parseInt(todate);
var tomonth = to.slice(0, 2);
tomonth = parseInt(tomonth);
var toyear = to.slice(6, 10);
toyear = parseInt(toyear);
var oneDay = 24*60*60*1000;
var firstDate = new Date(fromyear,frommonth,fromdate);
var secondDate = new Date(toyear,tomonth,todate);
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
document.getElementById("result").innerHTML=diffDays;
}
</script></body></html>
jQuery UI日期选择器-默认功能
.ui日期选择器{字体大小:11px;}
$(函数(){
$(“#from”).datepicker();
});
$(函数(){
$(“#to”).datepicker();
});
发件人:
致:
var calculate=函数(){
var from=document.getElementById(“from”).value;
var fromdate=from.slice(3,5);
fromdate=parseInt(fromdate);
var frommonth=from.slice(0,2);
frommonth=parseInt(frommonth);
var fromyear=from.slice(6,10);
fromyear=parseInt(fromyear);
var to=document.getElementById(“to”).value;
var todate=to.slice(3,5);
todate=parseInt(todate);
var-tomonth=to.slice(0,2);
tomonth=parseInt(tomonth);
var toyear=到切片(6,10);
toyear=parseInt(toyear);
var One Day=24*60*60*1000;
var firstDate=新日期(fromyear、frommonth、fromdate);
var secondDate=新日期(截止日期、明天、截止日期);
var diffDays=Math.round(Math.abs((firstDate.getTime()-secondDate.getTime())/(oneDay));
document.getElementById(“结果”).innerHTML=diffDays;
}
取出这两行中的连字符,并将它们更改为我这里的内容。现在它工作得很好:
var firstDate = new Date(fromyear,frommonth,fromdate);
var secondDate = new Date(toyear,tomonth,todate);
以下是一个链接:
更新:删除按钮并将onchange处理程序添加到日期选择器的链接已更正:由于您使用的是jquery,您可以执行以下操作:
$('#to').datepicker({
onSelect: function(dateText, inst) {
var d1=new Date(dateText);
var d2=new Date($('#from').val());
var diff = (Math.abs((d2-d1)/86400000)); //days between 2 dates
$("#result").html(diff);
}
});
重新邮寄?我注意到OP已经在使用那个帖子中的代码了。OP遇到的问题是让代码与日期选择器一起工作。在调试器中运行OP的代码很简单,发现实际上没有逻辑错误,只是在两行代码中使用了非常奇怪的连字符变量名,当然,这两行代码没有连字符。抱歉,我忘了提到它不会在onkeyupevent上运行,所以我用了一个按钮来点击。你如何让它在onkeyup或onchange上运行?为你添加了一个更新的链接。享受吧!