Мое сердце кровоточит внутренне после того, как нужно пройти настолько глубоко, чтобы вычесть две даты, чтобы рассчитать интервал в количестве дней:
GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();
c1.set(2000, 1, 1);
c2.set(2010,1, 1);
long span = c2.getTimeInMillis() - c1.getTimeInMillis();
GregorianCalendar c3 = new GregorianCalendar();
c3.setTimeInMillis(span);
long numberOfMSInADay = 1000*60*60*24;
System.out.println(c3.getTimeInMillis() / numberOfMSInADay); //3653
где это всего 2 строки кода в .NET или любой современный язык, который вы называете.
Является ли это зверством java? Или есть скрытый метод, который я должен знать?
Вместо использования GregorianCalendar, нормально ли использовать класс Date в утилите? Если да, то следует ли мне следить за такими тонкими вещами, как 1970 год?
Спасибо