计算两个日期之间的时间差,返回年月天

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hai7425/article/details/82349054
<?
include_once("inc/conn.php");
include_once("inc/utility_all.php");
include_once("inc/utility_org.php");
include_once("inc/utility_file.php");  
$HTML_PAGE_TITLE = _("计算日期差");
include_once("inc/header.inc.php");

?>
<script type="text/javascript" src="/inc/js_lang.php"></script>  

<script type="text/javascript" src="<?=MYOA_JS_SERVER?>/static/js/attach.js"></script>  
<script src="<?=MYOA_JS_SERVER?>/static/js/module.js?v=<?=MYOA_SYS_VERSION?>"></script>
<script src="<?=MYOA_JS_SERVER?>/module/DatePicker/WdatePicker.js"></script>
<script  type="text/javascript">

  function getDateYearSub() {
    var startDateStr=document.getElementById("start_time").value;
    var endDateStr =document.getElementById("end_time").value;
    if(startDateStr!=="" && endDateStr!==""){  
    var sDate = new Date(Date.parse(startDateStr.replace(/-/g, "/")));
        //alert(sDate);
    //var eDate=endDateStr;
    var eDate = new Date(Date.parse(endDateStr.replace(/-/g, "/")));
        var sY  = sDate.getFullYear(); 
    // alert(sY);
        var sM  = sDate.getMonth()+1;
    // alert(sM);
        var sD  = sDate.getDate();
    // alert(sD);
        var eY  = eDate.getFullYear();
    // alert(eY);
        var eM  = eDate.getMonth()+1;
     //alert(eM);
        var eD  = eDate.getDate();
      //alert(eD);

        if(eY >sY  && sD == eD) {        
         var d=eD - sD;
          if(sM <= eM){
               yer=eY - sY;
               m=eM - sM;          
             }
          else{
           yer=eY - sY;
           yer=yer-1;
           m=eM - sM; 
           m=m+12;
          }
          document.getElementById("nian").value=yer;
         document.getElementById("yue").value=m;
         document.getElementById("tian").value=d;
        } 
       
       else if(eY==sY && sM==eM && sD<eD){
          var yer=eY - sY;
          var m=eM - sM;
          var d=eD - sD;
          var d=d+1;
          document.getElementById("nian").value=yer;
         document.getElementById("yue").value=m;
         document.getElementById("tian").value=d;
       }
      else if(eY==sY && sM<eM && sD<eD){
          var yer=eY - sY;
          var m=eM - sM;
          var d=eD - sD;
          var d=d+1;
          document.getElementById("nian").value=yer;
         document.getElementById("yue").value=m;
         document.getElementById("tian").value=d;
       }
       else if(eY==sY && sM<eM && sD==eD){
          var yer=eY - sY;
          var m=eM - sM;
          var d=eD - sD;
          document.getElementById("nian").value=yer;
         document.getElementById("yue").value=m;
         document.getElementById("tian").value=d;
       }
      else if(eY==sY && sM<eM && sD>eD){
          var d1=sD - eD;
          var neweM=eM-1;
          //alert(neweM);
          if(neweM==2){
          	if(eY%4==0){
          		 var yer=eY - sY;
          		 if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }
          		 
          		d=29-d1;
                  d=d+1;
          	}
          	else{
          		 var yer=eY - sY;
          		if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }
          	d=28-d1;
              d=d+1;
          	}
              
          }
        else if(neweM==1 || neweM==3 || neweM==5 || neweM==7 || neweM==8 || neweM==10){
           var yer=eY - sY;
           if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }
              d=31-d1;   
        }
        else if(neweM==12){
                var yer=eY - sY;
                yer=yer-1;
                m=12-sM;
                d=31-d1;   
                }
      else if(neweM==4 || neweM==6 || neweM==9 || neweM==11){
           var yer=eY - sY;
           if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;

          		 }
              d=30-d1; 
        d=d+1;
        }     
          document.getElementById("nian").value=yer;
         document.getElementById("yue").value=m;
         document.getElementById("tian").value=d;
       }
        else if(eY >sY  && sD < eD){
          var d=eD - sD;
          var d=d+1;
          if(sM <= eM){
              yer=eY - sY;
              m=eM - sM;
          }
          else{
              yer=eY - sY;
              yer=yer-1;
              m=eM - sM;
              m=m+12;       
          }
          document.getElementById("nian").value=yer;
          document.getElementById("yue").value=m;
          document.getElementById("tian").value=d;       
       }
       else if(eY >sY  && sD > eD){
         // var yer=eY - sY;
        //  var m=eM - sM;
          var d1=sD - eD;
          var neweM=eM-1;
          //alert(neweM);
          if(neweM==2){
          	if(eY%4==0){
          		 var yer=eY - sY;
          		 if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }         		 
          		d=29-d1;
              d=d+1;
          	}
          	else{
          		 var yer=eY - sY;
          		if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;

          		 }
          	d=28-d1;
              d=d+1;
          	}
              
          }
        else if(neweM==1 || neweM==3 || neweM==5 || neweM==7 || neweM==8 || neweM==10 ||neweM==12){
           var yer=eY - sY;
           if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }
              d=31-d1; 
        }
      else if(neweM==4 || neweM==6 || neweM==9 || neweM==11){
           var yer=eY - sY;
           if(neweM>=sM){
          		 	m=neweM-sM;
          		 }
          		 else if(neweM<sM) {
                   neweM=neweM+12;
                   m=neweM-sM;
                   yer=yer-1;
          		 }
              d=30-d1; 
        d=d+1;
        }         
          document.getElementById("nian").value=yer;
          document.getElementById("yue").value=m;
          document.getElementById("tian").value=d;

       }
        else {
          document.getElementById("nian").value=0;
          document.getElementById("yue").value=0;
          document.getElementById("tian").value=0;
          alert('请选择正确的续签时间');
        }
  }
    }

</script>
<script></script>


<body>
请选择日期范围: <input type="text" id="start_time" name="start_time" size="30" maxlength="30" class="BigInput" data-prompt-position="topRight:-150,-8" value="<?=$start_time?>" onClick="WdatePicker({dateFmt:'yyyy-MM-dd'})"/>-- <input type="text" id="end_time" name="end_time" size="30" maxlength="30" class="BigInput" data-prompt-position="topRight:-150,-8" value="<?=$end_time?>" onClick="WdatePicker({dateFmt:'yyyy-MM-dd'})" onBlur="getDateYearSub();"/>  时间差:<input type="text" size="10" id="nian" name="nian"/>年<input type="text" size="10" id="yue" name="yue"/>月<input type="text" size="10" id="tian" name="tian"/>天
</body>
</html>

猜你喜欢

转载自blog.csdn.net/hai7425/article/details/82349054
今日推荐