J'ai construit un programme qui convertit automatiquement le 31 février au 28 février lors de l'obtention du dernier jour du mois en utilisant la classe Calendar de Java. Cependant, le 31ème était sorti même si février était spécifié.
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR,2019);
cal.set(Calendar.MONTH,2);
cal.getActualMaximum(Calendar.DATE);//Le résultat est 31
La cause était que la classe Calendar traitait 0 comme janvier, donc lorsque 2 était spécifié, il était traité comme mars.
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR,2019);
cal.set(Calendar.MONTH,1);//février
cal.getActualMaximum(Calendar.DATE)//Le résultat est 28
Pourquoi ne traitez-vous pas le 1er janvier ... j'ai fait une note pour ceux qui ont les mêmes yeux
Recommended Posts