Java.time
Mark Jeronimus l'a dit déjà. Je l'étoffe un peu plus. Il suffit de mettre le texte à imprimer littéralement entre guillemets simples.
DateTimeFormatter yearFormatter = DateTimeFormatter.ofPattern("yyyy 'year'");
System.out.println(LocalDate.of(2010, Month.FEBRUARY, 3).format(yearFormatter));
System.out.println(Year.of(2010).format(yearFormatter));
System.out.println(ZonedDateTime.now(ZoneId.of("Europe/Vilnius")).format(yearFormatter));
Sortie lors de l'exécution à l'instant :
2010 year
2010 year
2019 year
Si vous utilisez un DateTimeFormatterBuilder
et son appendPattern
utilisez les guillemets simples de la même manière. Ou bien utilisez son appendLiteral
à la place et sans guillemets simples.
Comment mettre un guillemet simple dans le format, alors ? Deux guillemets simples en produisent un. Peu importe que le guillemet simple double soit à l'intérieur de guillemets simples ou non :
DateTimeFormatter formatterWithSingleQuote = DateTimeFormatter.ofPattern("H mm'' ss\"");
System.out.println(LocalTime.now(ZoneId.of("Europe/London")).format(formatterWithSingleQuote));
10 28' 34"
DateTimeFormatter formatterWithSingleQuoteInsideSingleQuotes
= DateTimeFormatter.ofPattern("hh 'o''clock' a, zzzz", Locale.ENGLISH);
System.out.println(ZonedDateTime.now(ZoneId.of("America/Los_Angeles"))
.format(formatterWithSingleQuoteInsideSingleQuotes));
02 heures du matin, heure avancée du Pacifique.
Tous les formateurs ci-dessus peuvent également être utilisés pour l'analyse syntaxique. Par exemple :
LocalTime time = LocalTime.parse("16 43' 56\"", formatterWithSingleQuote);
System.out.println(time);
16:43:56
En SimpleDateFormat
utilisée lorsque cette question a été posée il y a près de 10 ans est notoirement problématique et dépassée depuis longtemps. Je vous recommande d'utiliser plutôt java.time, l'API moderne de date et d'heure de Java. C'est pourquoi j'en fais la démonstration.
Liens
1 votes
Pour tous ceux qui liront ces lignes en 2019 ou plus tard, le
SimpleDateFormat
utilisée dans quelques réponses est notoirement problématique et périmée depuis longtemps. Évitez-la. Utilisez plutôt la réponse courte par Mark Jeronimus démontrant l'utilisation de java.time, l'API moderne de date et d'heure de Java .