从范围获取日期

时间:2013-09-09 05:12:41

标签: java calendar

我有一些开始约会。例如1.02.1995 我有一些完成日期。例如10.02.1995

我想将此范围除以10(例如)并获取此范围的日期。

这里将是1.02.1995,2.02.1995,3.02.1995,4.02.2995,5.02.1995,6.02.1995,7.02.2995,8.02.1995,9.02.2995,10.02.1995。

我知道如何计算两个日期之间的天数,但我不知道如何转换 到目前为止(从2011年1月1日开始算起,将于5月为5.01.1990),使用库。

我对自己编写算法不感兴趣。

最好的方法吗?

Thanx

2 个答案:

答案 0 :(得分:1)

示例代码,用实际值和方法替换....

假设日期格式为MM / DD / YYYY

当心cal.get(Calendar.MONTH);范围为{0-11},日期范围为1-31

Calendar start = .... ;
Calendar end = ....;

int startEndMonthDiff = .... ; // the difference in months 

Calendar temp = ; // set to start date

for(int i=0;i<startEndMonthDiff;i++)
{
   // you may store temp in list at each loop
   temp.add(Calendar.MONTH,1);
}

答案 1 :(得分:0)

Jodatime是最简单的方法,使用一个名为daysBetween的小函数来获取天数,然后为每天的数组添加日期 即。

List<LocalDate> dates = new ArrayList<LocalDate>();
int days = Days.daysBetween(startDate, endDate).getDays();
for (int i=0; i < days; i++) {
    LocalDate d = startDate.withFieldAdded(DurationFieldType.days(), i);
    dates.add(d);
}