classe | Année | Mois | journée | temps | zone | Utilisation |
---|---|---|---|---|---|---|
ZonedDateTime | ○ | ○ | ○ | ○ | ○ | Informations strictes sur la date et l'heure |
LocalDateTime | ○ | ○ | ○ | ○ | X | Informations de date et d'heure pour une utilisation quotidienne |
LocalDate | ○ | ○ | ○ | X | X | anniversaire |
LocalTime | X | X | X | ○ | X | Heure de l'alarme, etc. |
Year | ○ | X | X | X | X | Année de publication, etc. |
YearMonth | ○ | ○ | X | X | X | Date d'expiration de la carte, etc. |
Month | X | ○ | X | X | X | Mois de règlement, etc. |
MonthDay | X | ○ | ○ | X | X | Vacances japonaises, etc. |
Parmi ceux-ci, j'ai utilisé LocalDate pour calculer après 10 jours.
python
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
//Utiliser l'API Time ajoutée à partir de Java 8
//Obtenez la date 10 jours plus tard
public class TenDaysCalendarNewAPI {
public static void main(String[] args) {
LocalDate now = LocalDate.now();
LocalDate future = now.plusDays(10);
//Affichage sans spécifier le format
System.out.println("■ Afficher le type LocalDate tel quel");
System.out.println(now);
System.out.println(future);
System.out.println();
//Affichage en spécifiant le format
System.out.println("■ Affichage à l'aide de DateTimeFormatter");
DateTimeFormatter f = DateTimeFormatter.ofPattern("aaaa année MM mois jj jour");
System.out.println(now.format(f));
System.out.println(future.format(f));
System.out.println();
System.out.println("■ Affichage à l'aide de SimpleDateFormat");
SimpleDateFormat f2 = new SimpleDateFormat("aaaa année MM mois jj jour");
System.out.println(f.format(now));
System.out.println(f.format(future));
}
}
Résultat d'exécution
■ Afficher le type LocalDate tel quel
2020-10-12
2020-10-22
■ Affichage à l'aide de DateTimeFormatter
12 octobre 2020
22 octobre 2020
■ Affichage à l'aide de SimpleDateFormat
12 octobre 2020
22 octobre 2020
J'ai senti que c'était facile à gérer intuitivement. C'est lors de la spécification du format,
SimpleDateFormat transmet les informations de date à SimpleDateFormat DateTimeFormatter spécifie le format de DateTimeFormatter pour les informations de date
Voilà la partie.
Je ne sais pas ce qu'il y a dedans
Pour moi-même
System.out.println(f.format(now));
C'est difficile de comprendre le rôle, ou c'est juste comme ça, mais je me sentais mal à l'aise.
System.out.println(now.format(f));
Il était plus facile de comprendre l'image comme «convertir les informations de date de now en informations au format passé à l'argument de la méthode de format»!