java.time
Mark Jeronimus hat es bereits gesagt . Ich konkretisiere es ein bisschen mehr. Setzen Sie den zu druckenden Text einfach in einfache Anführungszeichen.
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));
Ausgabe beim Laufen gerade:
2010 year
2010 year
2019 year
Wenn Sie a DateTimeFormatterBuilder
und seine appendPattern
Methode verwenden, verwenden Sie einfache Anführungszeichen auf die gleiche Weise. Oder verwenden Sie appendLiteral
stattdessen die Methode und keine einfachen Anführungszeichen.
Wie setzen wir dann ein einfaches Anführungszeichen in das Format? Zwei einfache Anführungszeichen ergeben eines. Es spielt keine Rolle, ob sich das doppelte einfache Anführungszeichen in einfachen Anführungszeichen befindet oder nicht:
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 Uhr, pazifische Sommerzeit
Alle oben genannten Formatierer können auch zum Parsen verwendet werden. Zum Beispiel:
LocalTime time = LocalTime.parse("16 43' 56\"", formatterWithSingleQuote);
System.out.println(time);
16:43:56
Die SimpleDateFormat
Klasse, die verwendet wurde, als diese Frage vor fast 10 Jahren gestellt wurde, ist notorisch mühsam und längst veraltet. Ich empfehle stattdessen die Verwendung von java.time, der modernen Java-API für Datum und Uhrzeit. Deshalb zeige ich genau das.
Links
SimpleDateFormat
in einigen Antworten verwendete Klasse notorisch mühsam und längst veraltet. Vermeide es. Verwenden Sie stattdessen die kurze Antwort von Mark Jeronimus , die die Verwendung von java.time, der modernen Java-API für Datum und Uhrzeit, demonstriert .