JAVA获取某段时间内的所有日期

2016-07-27  本文已影响0人  流水H

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class FindDates {

public static void main(String[] args) throws Exception {  
    Calendar cal = Calendar.getInstance();  
    String start = "2014-02-01";  
    String end = "2014-03-02";  
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
    Date dBegin = sdf.parse(start);  
    Date dEnd = sdf.parse(end);  
    List<Date> lDate = findDates(dBegin, dEnd);  
    for (Date date : lDate) {  
        System.out.println(sdf.format(date));  
    }  
}  

public static List<Date> findDates(Date dBegin, Date dEnd) {  
    List lDate = new ArrayList();  
    lDate.add(dBegin);  
    Calendar calBegin = Calendar.getInstance();  
    // 使用给定的 Date 设置此 Calendar 的时间    
    calBegin.setTime(dBegin);  
    Calendar calEnd = Calendar.getInstance();  
    // 使用给定的 Date 设置此 Calendar 的时间    
    calEnd.setTime(dEnd);  
    // 测试此日期是否在指定日期之后    
    while (dEnd.after(calBegin.getTime())) {  
        // 根据日历的规则,为给定的日历字段添加或减去指定的时间量    
        calBegin.add(Calendar.DAY_OF_MONTH, 1);  
        lDate.add(calBegin.getTime());  
    }  
    return lDate;  
}  

}

上一篇下一篇

猜你喜欢

热点阅读