Mon cœur saigne intérieurement après avoir dû aller si loin pour soustraire deux dates afin de calculer l'écart en nombre de jours :
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
alors qu'il ne s'agit que de deux lignes de code en .NET, ou dans tout autre langage moderne.
Est-ce atroce de la part de Java ? Ou y a-t-il une méthode cachée que je devrais connaître ?
Au lieu d'utiliser GregorianCalendar, est-il possible d'utiliser la classe Date dans util ? Si oui, dois-je faire attention à des choses subtiles comme l'année 1970 ?
Gracias