import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
/**
* @author NB
*
*/
public class DateUtil2 {
private static String dateFormat = "yyyy-MM-dd";
private static SimpleDateFormat format = new SimpleDateFormat(dateFormat);
/***
* 取得起止日期间的天数集合
* @param startDate
* @param endDate
* @return
*/
public static List<String> process(String startDate, String endDate){
List<String> al = new ArrayList<String>();
if(startDate.equals(endDate)){
//IF起始日期等于截止日期,仅返回起始日期一天
al.add(startDate);
}else if(startDate.compareTo(endDate) < 0){
//IF起始日期早于截止日期,返回起止日期的每一天
while(startDate.compareTo(endDate) < 0){
al.add(startDate);
try {
Long l = format.parse(startDate).getTime();
startDate = format.format( l + 3600*24*1000);//+1天
} catch (Exception e) {
e.printStackTrace();
}
}
}else{
//IF起始日期晚于截止日期,仅返回起始日期一天
al.add(startDate);
}
return al;
}
public static void main(String[] args) {
String startDate = "2012-02-26";
String endDate = "2012-03-02";
List<String> al = DateUtil2.process(startDate, endDate);
for(String d : al) System.out.println(d);
}
}
import java.util.ArrayList;
import java.util.List;
/**
* @author NB
*
*/
public class DateUtil2 {
private static String dateFormat = "yyyy-MM-dd";
private static SimpleDateFormat format = new SimpleDateFormat(dateFormat);
/***
* 取得起止日期间的天数集合
* @param startDate
* @param endDate
* @return
*/
public static List<String> process(String startDate, String endDate){
List<String> al = new ArrayList<String>();
if(startDate.equals(endDate)){
//IF起始日期等于截止日期,仅返回起始日期一天
al.add(startDate);
}else if(startDate.compareTo(endDate) < 0){
//IF起始日期早于截止日期,返回起止日期的每一天
while(startDate.compareTo(endDate) < 0){
al.add(startDate);
try {
Long l = format.parse(startDate).getTime();
startDate = format.format( l + 3600*24*1000);//+1天
} catch (Exception e) {
e.printStackTrace();
}
}
}else{
//IF起始日期晚于截止日期,仅返回起始日期一天
al.add(startDate);
}
return al;
}
public static void main(String[] args) {
String startDate = "2012-02-26";
String endDate = "2012-03-02";
List<String> al = DateUtil2.process(startDate, endDate);
for(String d : al) System.out.println(d);
}
}
本文介绍了一个Java类DateUtil2,用于处理日期问题,特别是计算两个给定日期之间的天数集合。包括处理相同日期、不同日期的情况,并提供了主函数演示如何使用该类。

被折叠的 条评论
为什么被折叠?



