使用javascript计算两个日期之间的天数
Calculate Days between two dates using javascript
我想要这段代码来计算两个日期之间的天数。但这并没有奏效。我试了很多次想找出错误,但是失败了。有人能帮帮我吗?我检查了代码,但没有发现问题。计算器还是不能用!!
<!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>
去掉这两行中的连字符,改成我现在的样子。现在可以正常运行了:
var firstDate = new Date(fromyear,frommonth,fromdate);
var secondDate = new Date(toyear,tomonth,todate);
链接:http://dropoff.us/private/1364450059-1-answer1.html
更新:更正链接与按钮删除和onchange处理程序添加到日期选择器:http://dropoff.us/private/1364450310-1-answer2.html
由于您使用的是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);
}
});
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 我希望这个日期选择器可以从1990年到2000年之间的年份中选择日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何使用moment.js获取24小时内日期之间的时差
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- Ext 4.2.1 模型日期解析在浏览器之间不一致
- 夏令时期间不起作用的 2 个日期之间的小时差异
- 如何在javascript中计算两个日期时间之间的差异
- 考虑到夏令时,Java和JavaScript之间“日期”交换的最佳实践
- 给定一个开始日期和结束日期,创建一个包含这两个日期之间日期的数组