- //存储某两个年-月之间所有年-月
- public static String[] findNY(String by,String bm,String ey,String em){
- String[] yue = new String[1000];
- int i=0;
- boolean flag = true;
- try {
- while(flag){
- if(i==0){
- yue[i] = by+"-"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- i++;
- } else if(i>0&&(Integer.parseInt(ey)==Integer.parseInt(by))){
- if(Integer.parseInt(em) > Integer.parseInt(bm)){
- if(Integer.parseInt(bm) < 10){
- yue[i] = by+"-"+"0"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }else{
- yue[i] = by+"-"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }
- i++;
- } else if(Integer.parseInt(em) < Integer.parseInt(bm)){
- flag = false;
- } else if(Integer.parseInt(em) == Integer.parseInt(bm)){
- if(Integer.parseInt(bm) < 10){
- yue[i] = by+"-"+"0"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }else{
- yue[i] = by+"-"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }
- flag = false;
- }
- } else if(i>0&&(Integer.parseInt(ey) > Integer.parseInt(by))){
- if(Integer.parseInt(bm) > 12){
- by = String.valueOf(Integer.parseInt(by)+1);
- bm = "1";
- yue[i] = by+"-"+bm;
- }else {
- if(Integer.parseInt(bm) < 10){
- yue[i] = by+"-"+"0"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }else{
- yue[i] = by+"-"+bm;
- bm = String.valueOf(Integer.parseInt(bm)+1);
- }
- i++;
- }
- }
- }
- }catch (Exception e) {
- e.printStackTrace();
- }
- return yue;
- }
- public static void main(String[] args){
- String[] yue = new String[1000];
- yue = findNY("2008","07","2009","03");
- for(int i=0;i<=yue.length-1;i++){
- if(yue[i]!=null){
- System.out.println(yue[i]);
- }
- }
- }
在运用分析项目中做查询时碰到的这个问题,因为对日期处理还不太熟练,没找到合适的日期类方法实现这个,所以写了一个类,并做个备份。