2 votes

Formatage de la date et de l'heure à l'aide de la classe Formatter en Java

Je suis coincé dans un problème, je sais que nous pouvons utiliser SimpleDateFormat ou d'autres classes de format en Java pour formater la date et l'heure. Mais j'essaie de formater l'heure et la date en utilisant Formatter méthode de classe format . Est-ce possible ? Si oui, comment cela est-il possible ?

LocalDate date = LocalDate.now();
Formatter formatter = new Formatter();
formatter.format("%tm/%td/%ty", date);
System.out.println(formatter);

J'ai obtenu java.util.MissingFormatArgumentException: Format specifier '%td' .

2voto

Ole V.V. Points 24677

Vous avez trois (3) spécificateurs de format ( %tm , %td y %ty ), donc format() attend immédiatement trois arguments en plus de la chaîne de format. Vous n'en avez donné qu'un seul.

La solution est no de répéter le même argument. Il y a deux façons de dire format() d'utiliser à nouveau le même argument.

D'une part, donner un indice d'argumentation explicite, de 1 :

formatter.format("%1$tm/%1$td/%1$ty", date);

Sortie :

09/10/21

D'autre part, un < raconte format() d'utiliser le même argument une fois de plus :

formatter.format("%tm/%<td/%<ty", date);

Le résultat est le même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X