int ny = year, nm =month, nd =day;
nd-=1;
if (nd <= 0){
nd = 31;
nm-=1;
}
if (nm <= 0){
nm = 12;
ny-=1;
}
Calendar cal = Calendar.getInstance();
try{
cal.set(Calendar.YEAR, ny);
cal.set(Calendar.MONTH,nm);
cal.set(Calendar.DAY_OF_MONTH,nd);
}catch(ArrayIndexOutOfBoundsException e){
nd-=1;
cal.set(Calendar.YEAR, ny);
cal.set(Calendar.MONTH,nm);
cal.set(Calendar.DAY_OF_MONTH,nd);
}
return new SimpleDate(cal.getTime());
calendrier jeter exception, si mauvaise date est spécifiée. De cette façon, nous vérifions si le jour du mois est correct.
Etes-vous sûr que cela ne lancera pas une 'ArrayIndexOutOfBoundsException'? – aioobe
En fait, je ne sais pas. Je sais que la classe Java Calendar normale permet des jours négatifs et les convertit proprement, mais le JavaDoc pour la classe CLDC Calendar ne dit pas ce qu'il fait pour ceux-là. – Powerlord