java.time
Марк Иероним уже сказал это . Я немного уточняю это. Просто поместите текст для печати буквально в одинарные кавычки.
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));
Вывод при запуске только что:
2010 year
2010 year
2019 year
Если вы используете a DateTimeFormatterBuilder
и его appendPattern
метод, используйте одинарные кавычки таким же образом. Или используйте его appendLiteral
метод и без одинарных кавычек.
Как же нам поместить в формат одинарную кавычку? Две одинарные кавычки дают одну. Не имеет значения, находится ли двойная одинарная кавычка внутри одинарных кавычек или нет:
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:00 по тихоокеанскому летнему времени
Все вышеперечисленные средства форматирования также можно использовать для синтаксического анализа. Например:
LocalTime time = LocalTime.parse("16 43' 56\"", formatterWithSingleQuote);
System.out.println(time);
16:43:56
SimpleDateFormat
Класс , используемый , когда этот вопрос был задан почти 10 лет назад , как известно , хлопотное и долгое время устарели. Я рекомендую вместо этого использовать java.time, современный API даты и времени Java. Вот почему я демонстрирую именно это.
Ссылки
SimpleDateFormat
класс, использованный в нескольких ответах, заведомо проблематичен и давно устарел. Избегай это. Вместо этого используйте короткий ответ Марка Джеронимуса, демонстрирующий использование java.time, современного API даты и времени Java .