java.time
Mark Jeronimus l'a déjà dit. Je l'étoffe un peu plus. Mettez simplement le texte à imprimer 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 juste maintenant:
2010 year
2010 year
2019 year
Si vous utilisez a DateTimeFormatterBuilder
et sa appendPattern
méthode, utilisez les guillemets simples de la même manière. Ou utilisez appendLiteral
plutôt sa méthode et pas de 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 entre 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, heure avancée du Pacifique
Tous les formateurs ci-dessus peuvent également être utilisés pour l'analyse. Par exemple:
LocalTime time = LocalTime.parse("16 43' 56\"", formatterWithSingleQuote);
System.out.println(time);
16:43:56
La SimpleDateFormat
classe utilisée lorsque cette question a été posée il y a près de 10 ans est notoirement gênante et dépassée depuis longtemps. Je vous recommande d'utiliser à la place java.time, l'API de date et d'heure Java moderne. C'est pourquoi je démontre exactement cela.
Liens
SimpleDateFormat
classe utilisée dans quelques réponses est notoirement gênante et dépassée depuis longtemps. L'éviter. Utilisez plutôt la réponse courte de Mark Jeronimus démontrant l'utilisation de java.time, l'API Java de date et d'heure moderne .