Цитата(ZMaximI @ 17.12.2007, 18:39 ) | | не подскажешь вариант без "игры" с двумя календарями для получения кол-ва дней, или этого просто не избежать ? |
Можно обойтись и одним, но вариантов без календаря - я не знаю.
| Код | private static int[] FIELDS = {Calendar.MILLISECOND, Calendar.SECOND, Calendar.MINUTE, Calendar.HOUR, Calendar.HOUR_OF_DAY, Calendar.AM_PM};
private static void reset(Calendar c) { for (int field : FIELDS) c.clear(field); }
public static void main(String[] args) throws Exception { Calendar c = Calendar.getInstance(); c.set(2007, Calendar.DECEMBER, 30, 23, 26, 49); Date d1 = c.getTime(); c.set(2008, Calendar.JUNE, 5, 15, 12, 20); Date d2 = c.getTime();
c.setTime(d1); reset(c); long time1 = c.getTimeInMillis(); c.setTime(d2); reset(c); long time2 = c.getTimeInMillis(); long daysBetween = (time2 - time1 + 60 * 60 * 1000) / (24 * 60 * 60 * 1000); System.out.println("daysBetween = " + daysBetween); }
|
|