Очень часто требуется получить сегодняшнюю дату в разных форматах, или сегодняшнюю дату + n дней или же найти разницу в днях между двумя датами

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public final class Calend {
	private static final String FORMAT_DATE = "dd.MM.yyyy";

	public static String getFormatDate(int n) {
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DAY_OF_MONTH, n);
		String date = new SimpleDateFormat(FORMAT_DATE).format(cal.getTime());
		return date;
	}

	public static long differenceBetweenDates(String d1, String d2) {
		SimpleDateFormat myFormat = new SimpleDateFormat(FORMAT_DATE);
		/*
		 * Важно, setLenient вызвавет эксепшн, если дата будет некорректная,
		 * типо 31.02.2013 или 50.50.2013
		 */
		myFormat.setLenient(false);

		Date date1 = null;
		Date date2 = null;
		try {
			date1 = myFormat.parse(d1);
			date2 = myFormat.parse(d2);
		} catch (Exception e) {
			System.out.println("Неверная дата");
			e.printStackTrace();
		}
		long d1MinusD2 = date1.getTime() - date2.getTime();
		return d1MinusD2 / (24 * 60 * 60 * 1000);
	}

	public static void main(String[] args) {
		// сегодняшняя дата;
		System.out.println(getFormatDate(0));
		// послезавтра;
		System.out.println(getFormatDate(2));
		System.out.println(differenceBetweenDates("25.06.2013", "04.06.2013"));
		// эксепшн, дата "125.06.2013" — неверна;
		System.out.println(differenceBetweenDates("125.06.2013", "04.06.2013"));

	}
}

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

09.06.2017
11.06.2017
21
Неверная дата
java.text.ParseException: Unparseable date: "125.06.2013"
	at java.text.DateFormat.parse(DateFormat.java:366)
	at compar.Calend.differenceBetweenDates(Calend.java:28)
	at compar.Calend.main(Calend.java:45)
Exception in thread "main" java.lang.NullPointerException
	at compar.Calend.differenceBetweenDates(Calend.java:34)
	at compar.Calend.main(Calend.java:45)

Метод getFormatDate(0) получает сегодняшнюю дату в формате «dd.MM.yyyy»,  или же, например, getFormatDate(2) — получить послезавтрашнюю дату. Можно также легко менять вывод дат, например, сделать их в формате yyyy-MM-dd — т.е. год-месяц-число.

Метод differenceBetweenDates находит разницу в днях между двумя датами, также будет эксепшн, если указать неверную дату, типо «125.06.2013»

Реклама