Как вычитать даты в Java? [duplicate]

40
задан Haoest 19 August 2010 в 21:41
поделиться

3 ответа

Это действительно один из самых серьезных сбоев в стандартном API Java. Наберитесь немного терпения, и тогда вы получите свое решение в виде нового API даты и времени, указанного в JSR 310 / ThreeTen , который (скорее всего) будет включен в грядущую Java 8.

А пока вы можете обойтись JodaTime .

DateTime dt1 = new DateTime(2000, 1, 1, 0, 0, 0, 0);
DateTime dt2 = new DateTime(2010, 1, 1, 0, 0, 0, 0);
int days = Days.daysBetween(dt1, dt2).getDays();

Его создатель, Стивен Коулборн, кстати, стоит за JSR 310, так что он будет очень похож.

49
ответ дан 27 November 2019 в 01:37
поделиться

Если вы имеете дело с датами, неплохо было бы заглянуть в библиотеку времени joda для более разумной модели манипулирования датами.

http://joda-time.sourceforge.net/

3
ответ дан 27 November 2019 в 01:37
поделиться

Ну, вы можете удалить третий экземпляр календаря.

GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();
c1.set(2000, 1, 1);
c2.set(2010,1, 1);
c2.add(GregorianCalendar.MILLISECOND, -1 * c1.getTimeInMillis());
3
ответ дан 27 November 2019 в 01:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: