我有一个脚本,我想计算两个日期之间的月数。这就是我尝试过的
var dateTo = document.getElementById("date1").value;
var d2 = dateTo.split("-");
var date1 = new Date(d2[2], parseInt(d2[1]) - 1, d2[0]);
var date2 = new Date(2019, 12, 31);
var year1 = date1.getFullYear();
var year2 = date2.getFullYear();
var month1 = date1.getMonth();
var month2 = date2.getMonth();
if (month1 === 0) {
month1++;
month2++;
}
var numberOfMonths = (month2 - month1);
这个想法是,用户从输入日历中选择一个日期,并计算从所选日期到当年年底之间剩余的月数。
如果我写下日期 2019-05-13 ,我得到的结果将返回 -4 个月,这是错误的结果,我不确定我在做错什么。
答案 0 :(得分:1)
这个想法是,用户从输入日历中选择一个日期,并计算从所选日期到当年年底之间的剩余月份数。
您可以通过更简单的方式实现这一目标:
$('#datepicker').datepicker({
onSelect: function() {
var date = $(this).datepicker('getDate'); // get the date chosen
var month = date.getMonth(); // get the month
var monthsLeft = 11 - month; // get the differences, months are 0 based
console.log('Month Left:', monthsLeft);
}
});
<link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date: <input type="text" id="datepicker"></p>