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


    最近做一个控件画图项目,需要提取和处理选定起止年月日时间段内的数据,那首先一步当然是要能编程实现访问选定时间段内的每一年的每个月的每一天,下面是我写的源码,说明一点,每个月我指定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("提示:输入的起始年份必须小于输入的结束年份!");
              }
              
          
    //-------------------日期处理结束---------------------------
  • 相关阅读:
    09.05 javascript 属性 内置属性 自定义属性 DOM文档对象模型
    09.04 javaScript Event 对象 时间的冒泡和捕获 节点 从HTML中通过id name 标签名 class 选择器 获取元素
    08.31 JavaScript 事件基础 绑定事件 解除绑定事件 this的用法 事件类型 鼠标事件 键盘事件 Event对象
    08.30 javascript BOM &DOM
    阿飞的梦境世界 2017-09-02-6-00-周六
    阿飞的梦境世界 2017-08-29-7-00-周二
    JavaScript练习题 全局变量 局部变量 作用域
    全局变量和局部变量
    return 的返回值与结束功能
    函数的调用和引用
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3987857.html
Copyright © 2020-2023  润新知