Être un peu bloqué le dernier jour du mois en utilisant la classe Calendar de Java

Ce que je voulais faire

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

Cause

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

Être un peu bloqué le dernier jour du mois en utilisant la classe Calendar de Java
Sortie du jour en utilisant la classe Ruby's Date
Lorsque vous utilisez le constructeur de la classe Date de Java, la date avance de 1900.
Comment dériver le dernier jour du mois en Java
Créez un calendrier à partir de la classe Calendar en spécifiant l'année et le mois
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Afficher le calendrier et le jour japonais en utilisant la classe standard java8
Une note sur la classe Utils libGDX
Lire un fichier à l'aide de la classe Scanner de Java
Une note rapide sur l'utilisation de jshell avec l'image Docker officielle du JDK
[Ubuntu 20.04] Afficher le jour à la date / horloge
Limiter le nombre de threads à l'aide du service d'exécution de Java
Essayez d'utiliser l'attribut de requête Ruby on Rails