存储某两个年-月之间所有年-月

本文介绍了一种自定义方法,用于生成两个指定日期之间的所有月份。通过递增方式填充字符串数组,适用于需要按月查询数据的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //存储某两个年-月之间所有年-月
  2.     public static String[] findNY(String by,String bm,String ey,String em){
  3.         String[] yue = new String[1000];
  4.         int i=0;
  5.         boolean flag = true;
  6.         try {
  7.             while(flag){
  8.                 if(i==0){
  9.                     yue[i] = by+"-"+bm;
  10.                     bm = String.valueOf(Integer.parseInt(bm)+1);
  11.                     i++;
  12.                 } else if(i>0&&(Integer.parseInt(ey)==Integer.parseInt(by))){
  13.                     if(Integer.parseInt(em) > Integer.parseInt(bm)){
  14.                         if(Integer.parseInt(bm) < 10){
  15.                             yue[i] = by+"-"+"0"+bm;
  16.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  17.                         }else{
  18.                             yue[i] = by+"-"+bm;
  19.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  20.                         }
  21.                         i++;
  22.                     } else if(Integer.parseInt(em) < Integer.parseInt(bm)){
  23.                         flag = false;
  24.                     } else if(Integer.parseInt(em) == Integer.parseInt(bm)){
  25.                         if(Integer.parseInt(bm) < 10){
  26.                             yue[i] = by+"-"+"0"+bm;
  27.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  28.                         }else{
  29.                             yue[i] = by+"-"+bm;
  30.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  31.                         }
  32.                         flag = false;
  33.                     }
  34.                 } else if(i>0&&(Integer.parseInt(ey) > Integer.parseInt(by))){
  35.                     if(Integer.parseInt(bm) > 12){
  36.                         by = String.valueOf(Integer.parseInt(by)+1);
  37.                         bm = "1";
  38.                         yue[i] = by+"-"+bm;
  39.                     }else {
  40.                         if(Integer.parseInt(bm) < 10){
  41.                             yue[i] = by+"-"+"0"+bm;
  42.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  43.                         }else{
  44.                             yue[i] = by+"-"+bm;
  45.                             bm = String.valueOf(Integer.parseInt(bm)+1);
  46.                         }
  47.                         i++;
  48.                     }
  49.                 }
  50.             }
  51.         }catch (Exception e) {
  52.                 e.printStackTrace();
  53.         }
  54.         return yue;
  55.     }
  56.     
  57.     public static void main(String[] args){
  58.         String[] yue = new String[1000];
  59.         yue = findNY("2008","07","2009","03");
  60.         for(int i=0;i<=yue.length-1;i++){
  61.             if(yue[i]!=null){
  62.                 System.out.println(yue[i]);
  63.             }
  64.         }
  65.     }

在运用分析项目中做查询时碰到的这个问题,因为对日期处理还不太熟练,没找到合适的日期类方法实现这个,所以写了一个类,并做个备份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值