API Date Time ajoutée à partir de Java8. Dans le code écrit à l'aide de LocalDateTime, je vois parfois un tel code.
Définissez chaque champ un par un.java
LocalDateTime ldt = LocalDateTime.now().withHour(12).withMinute(0).withSecond(0).withNano(0);
Le réglage est comme "12 heures du jour", mais chaque champ de temps est défini un par un.
Eh bien, lorsque j'utilisais Calendar, c'était fondamentalement un par un, donc cela s'est peut-être produit dans le flux.
Cependant, ceci est inefficace car une nouvelle instance est créée à chaque fois withXxx ()
.
LocalDateTime # with est utilisé dans de tels cas. Il est.
public LocalDateTime with(TemporalAdjuster adjuster) Renvoie une copie ajustée de cette date / heure. Il ajuste la date / heure et renvoie un LocalDateTime basé sur cette date / heure. Les ajustements sont effectués à l'aide de l'objet de stratégie de réglage spécifié. Veuillez consulter la documentation de l'ajusteur pour comprendre quels ajustements seront effectués.
Je ne suis pas très familier avec TemporalAdjuster, mais ici je vais simplement présenter l'utilisation suivante.
Réglé à 12 heures d'un seul coup.java
LocalDateTime ldt = LocalDateTime.now().with(LocalTime.of(12, 0));
LocalTime implémente également ce TemporalAdjuster, vous pouvez donc le transmettre à la méthode with. Et cela change l'heure de l'instance LocalDateTime en heure de l'argument.