Javascript 如何在jQuery中计算两个日期之间的月份?

Javascript 如何在jQuery中计算两个日期之间的月份?,javascript,jquery,html,date,Javascript,Jquery,Html,Date,可能重复: $(“#显示”)。单击(函数(){ var m1=$(“#month1”).val(); var m2=$(“#month2”).val(); 变量y1=$(“#年1”).val(); 变量y2=$(“#年2”).val(); var result='result'; }) 现场: 在本例中,jQuery中两个日期之间的月份计数的最佳简单方法是什么?试试: <form onsubmit="monthDiff(this); return false;"> <

可能重复:



$(“#显示”)。单击(函数(){ var m1=$(“#month1”).val(); var m2=$(“#month2”).val(); 变量y1=$(“#年1”).val(); 变量y2=$(“#年2”).val(); var result='result'; })
现场:

在本例中,jQuery中两个日期之间的月份计数的最佳简单方法是什么?

试试:

<form onsubmit="monthDiff(this); return false;">
  <br>month&nbsp;1<input id="m1" value="1">
      year&nbsp;1<input id="y1" value="2010">
  <br>month&nbsp;2<input id="m2" value="3">
      year&nbsp;2<input id="y2" value="2010">
  <br>Difference in months:<input id="diff">
  <br><input type="submit">
</form>

<script>

function monthDiff(f) {

  f.diff.value = f.y2.value * 12 + Number(f.m2.value) -
                 f.y1.value * 12 - f.m1.value;
}

</script>


第1个月 第一年
第2个月 第二年
月份差异:
函数monthDiff(f){ f、 差值=f.y2.value*12+数字(f.m2.value)- f、 y1.值*12-f.m1.值; }

当然,您应该在使用之前验证输入。

最简单的方法可能是从另一年减去一年,而不是乘以12。您如何验证输入?你考虑过找个约会对象吗?同一个月内1天的差异是1还是0?同一个月内30天的差异被视为2天、1天或0天(因为这超过4周,是最短的月份,闰年除外)。@Grillz假设有效日期,它不考虑月份,无论前一个月是否在第二个方框中,反之亦然。为什么回答一个明显是重复的问题?可能是因为回答这个问题比寻找重复的问题更快。无论如何,我不认为它是完全重复的-一个使用日期对象,这只使用日期字符串。最后,对于“复制”,我的解决方案比任何解决方案都好Alex K.,KooiInc,Šime Vidas,Donal Fellows,我不同意你的观点:)
<form onsubmit="monthDiff(this); return false;">
  <br>month&nbsp;1<input id="m1" value="1">
      year&nbsp;1<input id="y1" value="2010">
  <br>month&nbsp;2<input id="m2" value="3">
      year&nbsp;2<input id="y2" value="2010">
  <br>Difference in months:<input id="diff">
  <br><input type="submit">
</form>

<script>

function monthDiff(f) {

  f.diff.value = f.y2.value * 12 + Number(f.m2.value) -
                 f.y1.value * 12 - f.m1.value;
}

</script>