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

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;  
}  

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容