Формат даты Java - включая дополнительных персонажей
-
22-09-2019 - |
Вопрос
Есть ли эквивалент форматирования стиля PHP () в Java? Я имею в виду, что в PHP я могу обращаться с персонажами с бэк-эскапами, чтобы они обращались буквально. Т.е. yyyy y e a r станет 2010 год. Анкет Я не нашел ничего подобного в Java, все примеры связаны только со встроенными форматами дат.
В частности, я имею дело с Jcalendar Дата сборщика и их DateFormatString имущество.
Мне это нужно, потому что в моем локале необходимо писать всевозможные дополнительные вещи в формате даты, например, d. (на день) После дни часть, м. (в течение многих лет) после многих лет и так далее. В худшем случае я мог бы использовать строку заменить или regexp, но, возможно, есть более простой способ? Заранее спасибо!
Решение
Конечно, с SimpleDateFormat Вы можете включить буквальные струны:
В рамках строк даты и временных рисунков, неоправданные буквы от «a» до 'Z' и от 'a' to 'z' интерпретируются как буквы с шаблонами, представляющие компоненты строки даты или времени. Текст можно цитировать с использованием отдельных кавычек ('), чтобы избежать интерпретации. «''» представляет собой одну цитату. Все остальные символы не интерпретируются; Они просто скопированы в выходную строку во время форматирования или сопоставлены с входной строкой во время анализа.
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
Другие советы
Просто для полноты, Java 8 DateTimeFormatter
также поддерживает это:
DateTimeFormatter.ofPattern("yyyy 'year'");
Вы можете использовать string.format, как задокументировано в java.util.formatter:
Calendar c = ...;
String s = String.format("%tY year", c);
// -> s == "2010 year" or whatever the year actually is
java.text.simpledateformat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
String formattedDate = formatter.format(date);
Вы получите больше информации здесь ссылка текст