zoukankan      html  css  js  c++  java
  • 倒序列出两个日期之间的月份

    最终效果图

    <!doctype html>
    <html lang="en">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>test</title>
        
    </head>
    <body>
     <select id="selectTime">
     </select>
     <script type="text/javascript">
     var oSelect = document.getElementById('selectTime');
      initSelectTime('2014-10','2015-10');
    
      function initSelectTime(startTime,today){
        var startTime = new Date(startTime),
            endTime = new Date(today);
        var yearStart = startTime.getFullYear(),
            yearEnd = endTime.getFullYear(),
            monthStart = startTime.getMonth(),
            monthEnd = endTime.getMonth();
        var str = '';
        if(startTime.getTime()>endTime.getTime()){
           //getData(yearEnd+'-'+monthEnd);
           str += '<option value="'+yearStart+'-'+monthStart+'">'+monthStart+'月01日 - '+monthStart+''+getLastDay(yearStart,monthStart)+'日</option>';
           oSelect.innerHTML = str;
           return;
        }
        if(yearStart == yearEnd){
          for(var i=0;i<=monthEnd-monthStart;i++){
            var m = formatNum(monthEnd+1-i);
            str += '<option value="'+yearEnd+'-'+m+'">'+m+'-01'+'</option>';
          }
        }
        if(yearStart != yearEnd){
          for(var i=0;i<=monthEnd;i++){
            var m = formatNum(monthEnd+1-i);
            str += '<option value="'+yearStart+'-'+m+'">'+m+'月01日 - '+m+''+getLastDay(yearStart,m)+'日</option>';
          }
          for(var j=0;j<yearEnd-yearStart;j++){
            if(yearStart==yearEnd-j-1){
              for(var k=12;k>monthStart;k--){
                var m = formatNum(k);
                str += '<option value="'+yearStart+'-'+m+'">'+yearStart+''+m+'月</option>';
              }
            }else{
              for(var k=12;k>0;k--){
                var m = formatNum(k);
                console.log(m)
                str += '<option value="'+(yearEnd-j-1)+'-'+m+'">'+(yearEnd-j-1)+''+m+'月</option>';
              }
            }
          }
        }
        oSelect.innerHTML = str;
      }   
      function formatNum(num){
        return num<10?"0"+num:num;
      }
      //获取月份的最后一天为几号
      function getLastDay(year,month){
          var new_year = year;    //取当前的年份  
          var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)  
          if(month>12) {          //如果当前大于12月,则年份转到下一年  
              new_month -=12;        //月份减  
              new_year++;            //年份增  
          }  
          var new_date = new Date(new_year,new_month,1);                //取当年当月中的第一天  
          return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期  
      }
      </script>
    </body>
    </html>
  • 相关阅读:
    python(对象与实例属性)
    python(类和对象相关知识)
    python(面向对象设计)
    网络基础知识
    python(hashlib)
    子网掩码划分
    cmd命令
    Linux学习第一天:Linux常用快捷键
    python猜数字小游戏
    while语句
  • 原文地址:https://www.cnblogs.com/zhouzone/p/4904561.html
Copyright © 2011-2022 走看看