// DateDiff("m","2002/12/1 00:00:00","2004/12/1 00:00:00")
  function DateDiff(strInterval, dtStart, dtEnd) {
 var dtStart = new Date(dtStart);
 if (isNaN(dtStart)) dtStart = new Date();
 var dtEnd = new Date(dtEnd);
 if (isNaN(dtEnd)) dtEnd = new Date();
 switch (strInterval) {
  case "s":return parseInt((dtEnd - dtStart) / 1000);
  case "n":return parseInt((dtEnd - dtStart) / 60000);
  case "h":return parseInt((dtEnd - dtStart) / 3600000);
  case "d":return parseInt((dtEnd - dtStart) / 86400000);
  case "w":return parseInt((dtEnd - dtStart) / (86400000 * 7));
  case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
  case "y":return dtEnd.getFullYear() - dtStart.getFullYear();
 }
}

解决方案 »

  1.   

    hatpdb(蓝猫) 
     不好意思,我可能没有说清楚,  ("m","2002/12/1 00:00:00","2004/12/1 00:00:00")  
     dtEnd这时间是当前的系统时间。不知如何能用js得到???谢谢!
      

  2.   

    var nowDateTime;
    nowDateTime = Date();nowDateTime中就是当前的系统时间,可以用alert(nowDateTime);检验一下。
      

  3.   

    比如 2005-6  到2002-12    
    (2005*12+6)-(2002*12+12)
    写成函数
    <script language=javascript>
     function jjcc(y1,m1,y2,m2){
      return (y2*12+m2)-(y1*12+m1)+1;
     }
     alert(jjcc(2002,12,2005,6));
    </script>