Java求助 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:54:19
我的问题是这样,有2个日期
例如: 0981030(或是20091030)、0980917(或是20090917)
而我想要把这两个日期中间的日期用"字串"分别显示出来,
例如: 0980917~0981030中间有0980918、0980919~~0981029、0981030
请问要用什麼方法去做运算呢????
意思就是我想利用一个function,丢两个(日期)引述进去,之后function就会回传一个字串阵列,裏头有这两个日期中间的日期.
我尝试过,旦发现要注意到很多地方,例如:大小月、闰年的问题.
找了java api好像也只有一个functionr可以去做两个日期的加减,但却没有可以剖析日期的function

package date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DateList {

public static List<Date> getDateList(Date beginDate, Date endDate){
List<Date> allDate = new ArrayList<Date>();
long perDayLength = 1000*60*60*24;
Date tempDate = beginDate;
while(tempDate.before(endDate)){
if(tempDate.after(beginDate)){
allDate.add(tempDate);
}
tempDate = new Date(tempDate.getTime() + perDayLength);
}
return allDate;
}

public static void main(String[] args) throws ParseException{
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date beginDate = df.parse("20080203");
Date endDate = df.parse("20080305");
List<Date> allDate = Date