`

获取两个日期之间的所有日期闭区间

 
阅读更多

 

 

结果是闭区间  ["2017-04-25","2018-04-01"]   读者可以根据需要修改成开区间

 

import java.text.SimpleDateFormat;
import java.util.Date;


public class DateTest {
    String dateFormat = "yyyy-MM-dd";
    SimpleDateFormat format = new SimpleDateFormat(dateFormat);
 
    public static void main(String[] args) {
        DateTest t = new DateTest();
 
        String date1 = "2017-04-25";
        String date2 = "2018-04-01";
 
        t.process(date1, date2);
    }
 
    private void process(String date1, String date2){
        if(date1.equals(date2)){
            System.out.println("两个日期相等!"); 
            return;
        }
 
        String tmp;
       /* if(date1.compareTo(date2) > 0){  //确保 date1的日期不晚于date2
            tmp = date1; date1 = date2; date2 = tmp;
        }*/
        
        //tmp = format.format(new Date((str2Date(date1).getTime() + 3600*24*1000)));
        //System.out.println(tmp);
        tmp = date1;
        int num = 0; 
        while(tmp.compareTo(date2) <= 0){                    
            System.out.println(tmp);    
            num++;
            tmp = format.format(new Date(str2Date(tmp).getTime() + 3600*24*1000));
        }
 
        /*if(num == 0)
            System.out.println("两个日期相邻!");*/
    }
 
private Date str2Date(String str) {  // 
        if (str == null) return null;
 
        try {
            return format.parse(str);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics