“客户端输入个时间要在"2005-8-30"号之前2个月”?那跟服务器有什么关系,你不就是用户输入在2005-8-30前两个月吗
<SCRIPT LANGUAGE="JavaScript">
 var dt=new Date("2005/8/30");
 dt.setMonth(dt.getMonth()-2);
 var userrime=new Date("2005/6/29");
 alert(userrime<dt);
 
</SCRIPT>

解决方案 »

  1.   

    <input type="hidden" id="ss" value="2005-8-29">
    <input type="text" id="dd" value="2005-6-29" onclick='northsnow();'>
    <script language='javascript'>
    function northsnow()
    {
      var mm=document.getElementById("ss").value;
      var nn=document.getElementById("dd").value;
      var patDate=/^\d{4}-\d{1,2}-\d{1,2}$/; 
      
      if(!patDate.test(mm)) return;
      if(!patDate.test(nn)) return;
      var mmd=new Date(mm.replace(/-/g,'/'));
      var nnd=new Date(nn.replace(/-/g,'/'));
      alert(mmd.getFullYear()*12+mmd.getMonth());
      alert(nnd.getFullYear()*12+nnd.getMonth());
      if(((mmd.getFullYear()*12+mmd.getMonth())-(nnd.getFullYear()*12+nnd.getMonth())>2) || ((mmd.getFullYear()*12+mmd.getMonth())-(nnd.getFullYear()*12+nnd.getMonth())==2  && mmd.getDate()>=nnd.getDate()) )
         alert('ok');
     }
    </script>
      

  2.   

    <input type="hidden" id="ss" value="2005-8-29">
    <input type="text" id="dd" value="2005-6-29" onclick='northsnow();'>
    <script language='javascript'>
    function northsnow()
    {
      var mm=document.getElementById("ss").value;
      var nn=document.getElementById("dd").value;
      var patDate=/^\d{4}-\d{1,2}-\d{1,2}$/; 
      
      if(!patDate.test(mm)) return;
      if(!patDate.test(nn)) return;
      var mmd=new Date(mm.replace(/-/g,'/'));
      var nnd=new Date(nn.replace(/-/g,'/'));
      alert(mmd.getFullYear()*12+mmd.getMonth());
      alert(nnd.getFullYear()*12+nnd.getMonth());
      if(((mmd.getFullYear()*12+mmd.getMonth())-(nnd.getFullYear()*12+nnd.getMonth())<2) || ((mmd.getFullYear()*12+mmd.getMonth())-(nnd.getFullYear()*12+nnd.getMonth())==2  && mmd.getDate()<=nnd.getDate()) )
         alert('ok');
     }
    </script>