方法1:相关代码如下:
private static DateFormat norDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
public static String normalizeDate2String(Date date) {
return norDateFormat.format(date);
}
/**
*
* @param preOrNextData 1表示后一天,0表示当天,-1表示前一天
* @return
*/
public static String getpreOrNextDate(Date date, int preOrNextDate){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE,preOrNextDate);
Date dd = cal.getTime();
return norDateFormat.format(dd);
}
public static Date normalizeString2Date(String date) throws ParseException {
try {
return norDateFormat.parse(date);
} catch (ParseException x) {
return norDateFormatOld.parse(date);
}
}
/**
* 获取时间段天数
*/
private int checkDate(String startDate, String endDate){
int dateCount = 0;
try {
Date date = Formats.normalizeString2Date(startDate);
while(!startDate.equalsIgnoreCase(endDate)){
dateCount++;
startDate = Formats.getpreOrNextDate(date, dateCount);
}
} catch (ParseException e) {
e.printStackTrace();
}
return dateCount;
}
方法2:
/**
* 获取两个日期之间的间隔天数
* @return
*/
public static int getGapCount(Date startDate, Date endDate) {
Calendar fromCalendar = Calendar.getInstance();
fromCalendar.setTime(startDate);
fromCalendar.set(Calendar.HOUR_OF_DAY, 0);
fromCalendar.set(Calendar.MINUTE, 0);
fromCalendar.set(Calendar.SECOND, 0);
fromCalendar.set(Calendar.MILLISECOND, 0);
Calendar toCalendar = Calendar.getInstance();
toCalendar.setTime(endDate);
toCalendar.set(Calendar.HOUR_OF_DAY, 0);
toCalendar.set(Calendar.MINUTE, 0);
toCalendar.set(Calendar.SECOND, 0);
toCalendar.set(Calendar.MILLISECOND, 0);
return (int) ((toCalendar.getTime().getTime() - fromCalendar.getTime().getTime()) / (1000 * 60 * 60 * 24));
}