java.time
Mark Jeronimus już to powiedział . Rozwijam to trochę bardziej. Po prostu umieść tekst do wydrukowania dosłownie w pojedynczych cudzysłowach.
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));
Wyjście podczas pracy przed chwilą:
2010 year
2010 year
2019 year
Jeśli używasz a DateTimeFormatterBuilder
i jej appendPattern
metody, użyj apostrofów w ten sam sposób. Lub użyj appendLiteral
zamiast tego jego metody i bez cudzysłowów.
Jak więc umieścimy pojedynczy cytat w formacie? Dwa pojedyncze cudzysłowy dają jeden. Nie ma znaczenia, czy podwójny pojedynczy cudzysłów znajduje się w pojedynczych cudzysłowach, czy nie:
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));
Godzina 02:00 czasu pacyficznego letniego
Wszystkie powyższe elementy formatujące mogą być również używane do analizowania. Na przykład:
LocalTime time = LocalTime.parse("16 43' 56\"", formatterWithSingleQuote);
System.out.println(time);
16:43:56
SimpleDateFormat
Klasa używana gdy pytano prawie 10 lat temu, jest notorycznie kłopotliwe i długo nieaktualne. Zalecam zamiast tego używać java.time, nowoczesnego API daty i czasu w Javie. Dlatego właśnie to pokazuję.
Spinki do mankietów
SimpleDateFormat
klasa użyta w kilku odpowiedziach jest notorycznie kłopotliwa i od dawna nieaktualna. Unikaj tego. Zamiast tego skorzystaj z krótkiej odpowiedzi Marka Jeronimusa, demonstrującej użycie java.time, nowoczesnego API daty i czasu Java .