Par curiosité, pourquoi est-ce que je reçois un IllegalArgumentException
pour le MONTH
dans le cas de test ci-dessous?Java Date de bizarrerie
public class Testing {
public static void main(String args[]) {
Calendar c = Calendar.getInstance(Locale.getDefault());
c.setLenient(false);
Date d = new Date();
c.set(Calendar.MONTH, Calendar.FEBRUARY);
c.set(Calendar.DAY_OF_MONTH, 30);
c.set(Calendar.YEAR, 2010);
d = c.getTime(); //Exception is not thrown until this line
System.out.println(d.toString());
}
}
Je regardais les GregorianCalendar qui est la valeur par défaut sur mon système, et se rendre compte que le champ MONTH
serait en effet le premier à différer dans les deux 30 février, contre 2 Mars dans ce cas, mais shouldn 't ce IllegalArgumentException
être ce qui provoque le débordement, ou était-il simplement considéré comme difficile à "découvrir"?
+1 pour la réponse liée non programmation. holla –
@Carlo, merci. Il est légèrement lié à la programmation. – jjnguy
... ou 29 jours - mais vous ne savez pas ce qui se passe avant la fin de l'année. –