• 选定起始时间和结束时间,打印选定时间段类的每一年,每一月,每一天(我自己写的,转载注明版权哦)


    最近做一个控件画图项目,需要提取和处理选定起止年月日时间段内的数据,那首先一步当然是要能编程实现访问选定时间段内的每一年的每个月的每一天,下面是我写的源码,说明一点,每个月我指定31天的,需要用的改一下闰年平年,还有月份的判断。

    选定起始时间和结束时间,打印选定时间段类的每一年,每一月,每一天,

                    String in_begin_date=request.getParameter("begin_date"); //起始日期
                    String in_end_date=request.getParameter("end_date"); //终止日期
    //----------------------日期处理开始----------------------------
                    String str_StartYYYY=in_begin_date.substring(0, 4); //获取起始年
                    String str_EndYYYY=in_end_date.substring(0, 4); //获取起始年
                    String str_StartMM=in_begin_date.substring(5,7);//获取月
                    String str_EndMM=in_end_date.substring(5,7);//获取月
                    String str_StartDD=in_begin_date.substring(8, 10);//获取日
                    String str_EndDD=in_end_date.substring(8, 10);//获取日
                
                    int Int_StartYYYY=Integer.parseInt(str_StartYYYY);
                    int Int_EndYYYY=Integer.parseInt(str_EndYYYY);
                    int Int_StartMM=Integer.parseInt(str_StartMM);
                    int Int_EndMM=Integer.parseInt(str_EndMM);
                    int Int_StartDD=Integer.parseInt(str_StartDD);
                    int Int_EndDD=Integer.parseInt(str_EndDD);
                    
                    int Int_NowYYYY=Integer.parseInt(str_StartYYYY);//当前年,初始值设为起始年
                    int Int_NowMM=Integer.parseInt(str_StartMM);//当前月,初始值设为起始月
                    int Int_NowDD=Integer.parseInt(str_StartDD);//当前日,初始值设为起始日
                    
                    
                    System.out.println(Int_StartYYYY);
                    System.out.println(Int_EndYYYY);
                    System.out.println(Int_StartMM);
                    System.out.println(Int_EndMM);
                    System.out.println(Int_StartDD);
                    System.out.println(Int_EndDD);
                    
                    if(Int_EndYYYY>Int_StartYYYY)//结束年份大于起始年份
                    {
                            do
                            {
                              if(Int_NowYYYY<Int_EndYYYY)//现在年份小于结束年份,每年取12个月,每个月取31天
                              {
                                  do
                                   {
                                      do
                                          {
                                             
                                             System.out.println(Int_NowDD);//test
                                             Int_NowDD=Int_NowDD+1;
                                          }
                                          while(Int_NowDD<=31);//每个月以31天算
                                       Int_NowDD=1;
                                      System.out.println(Int_NowMM);//test
                                      Int_NowMM=Int_NowMM+1;
                         
                                   }
                                   while(Int_NowMM<=12);
                                Int_NowMM=1;
                  }
                  else
    //现在年份等于结束年份,取到结束月,再次判断是否到结束月份,若到就取到结束日,未到则每个月取31天
                    {
                    
                      do
                                   {
                                     if(Int_NowMM<Int_EndMM)
                                     {
                                       do
                                          {
                                             
                                             System.out.println(Int_NowDD);//test
                                             Int_NowDD=Int_NowDD+1;
                                          }
                                          while(Int_NowDD<=31);//每个月以31天算,方便取查询结果集
                                     
                                     }
                                    else{//结束月
                                          do
                                              {
                                                 
                                                 System.out.println(Int_NowDD);//test
                                                 Int_NowDD=Int_NowDD+1;
                                              }
                                              while(Int_NowDD<=Int_EndDD);//结束日
                                     }
                                      Int_NowDD=1;            
                                 System.out.println(Int_NowMM);//test
                                 Int_NowMM=Int_NowMM+1;
                         
                                   }
                                   while(Int_NowMM<=Int_EndMM);
                                Int_NowMM=1;
                    }
                              System.out.println(Int_NowYYYY);//test
                              Int_NowYYYY=Int_NowYYYY+1; 
                            }
                            while(Int_EndYYYY>=Int_NowYYYY);//现在年份与结束年份比较
                            
            }
            else if(Int_EndYYYY==Int_StartYYYY)//起始年份等于结束年份
            {
            
                 if(Int_StartMM<Int_EndMM)//起始月份小于结束月份
                 {
                          do
                          {
                                            if(Int_NowMM<Int_EndMM)//结束月之前的每个月以31天算
                                         {
                                           do
                                              {
                                                 
                                                 System.out.println(Int_NowDD);//test
                                                 Int_NowDD=Int_NowDD+1;
                                              }
                                              while(Int_NowDD<=31);//每个月以31天算,方便取查询结果集
                                         
                                         }
                                         else{//结束月份,直到结束日
                                              do
                                                  {
                                                     
                                                     System.out.println(Int_NowDD);//test
                                                     Int_NowDD=Int_NowDD+1;
                                                  }
                                                  while(Int_NowDD<=Int_EndDD);//结束日
                                         }
                                          Int_NowDD=1;        //每个月完了以后,下个月从一号开始    
                                       System.out.println(Int_NowMM);//test
                                     Int_NowMM=Int_NowMM+1;//下一个月
                          }
                          while(Int_EndMM>=Int_NowMM);
                }
                else if(Int_StartMM==Int_EndMM)//起始月份等于结束月份
                    {
                           if(Int_EndDD>Int_StartDD)//起始日小于结束日
                           {
                              //从起始日到结束日,循环处理
                                  do
                                  {
                                     
                                     System.out.println(Int_NowDD);//test
                                     Int_NowDD=Int_NowDD+1;
                                      
                                  }
                                  while(Int_EndDD>=Int_NowDD);
                             }
                               else if(Int_StartDD==Int_EndDD)
                                   {
                                      
                                   }
                              else
                                  {
                                     System.out.println("提示:输入的起始日必须小于输入的结束日!");
                                  }
                    }
                else//起始月份大于结束月份
                    {
                       System.out.println("提示:输入的起始月份必须小于输入的结束月份!");
                    }                
                                
                
            }
            else//起始年份大于结束年份
              {
                 //提示起始年份必须小于结束年份
                 System.out.println("提示:输入的起始年份必须小于输入的结束年份!");
              }
              
          
    //-------------------日期处理结束---------------------------
  • 相关阅读:
    share point 已在此服务器场中安装 ID 为 15/b7a69889-1789-4855-b8bd-9a3b4cfd7fc0 的功能。请使用强制属性显式地重新安装此功能。
    给一个div添加多个背景图片
    input输入框,在手机上,软键盘会将固定定位和绝对定位的按钮顶起,解决办法
    js判断浏览器,设备类型
    js中函数function的三种定义方式,声明式定义函数、函数表达式、立即执行函数的区别
    vue项目里面,__ob__对象的理解
    浏览器渲染过程-面试
    MySQL的连接查询:left join , right join , join
    MYSQL实现连表查询
    node后台koa2项目,如何发布到服务器?入门学习
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3987857.html
Copyright © 2020-2023  润新知