Очень давно была статья:
https://user12vv.wordpress.com/2013/07/08/java-основа-работы-с-датами/

Ужасный legacy code, что еще можно сказать.

Сейчас есть Java8, с крутым API для работы с датами:

Метод countDaysBetween2dates считает количество целых дней между двумя датами, а метод getLocalDate возвращает
дату в формате ДД.ММ.ГГГГ типа String.

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

public final class DateUtils {
	
	private static final String FORMAT_DATE = "dd.MM.yyyy";
	
	public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern(FORMAT_DATE);
	
	public static long countDaysBetween2dates(String date1, String date2) {
		LocalDate ld1 = LocalDate.parse(date1, formatter);
		LocalDate ld2 =LocalDate.parse(date2, formatter);
		
		return Math.abs(ChronoUnit.DAYS.between(ld1, ld2));
	}
	
	
	
	public static String getLocalDate(int n) {		
		return formatter.format(LocalDate.now().plusDays(n));
	}

	public static void main(String[] args) { 
		// сегодняшняя дата;
		System.out.println(getLocalDate(0));
		// послезавтра;
		System.out.println(getLocalDate(2));
		
		System.out.println(countDaysBetween2dates("22.06.2013", "04.06.2013"));				

		System.out.println(countDaysBetween2dates("15.06.2013", "04.06.2013"));
	}	
}

Вывод на консоль:

09.06.2017
11.06.2017
18
11
Реклама