Ответ 1
Joda Time не предоставляет способ получить исходный шаблон из DateTimeFormatter. Одна из причин - вероятно, что DateTimeFormatter не обязательно был создан из шаблона; например DateTimeFormat.forStyle()
не использует шаблоны вообще.
Однако, если вы всегда используете шаблоны, вы можете обернуть класс DateTimeFormat
для записи шаблона при построении DateTimeFormatter
. Таким образом, вы можете посмотреть его позже с помощью простого статического метода. Например:
public class ReversableDateTimeFormat {
private static final Map<DateTimeFormatter, String> patternHistory = new HashMap<DateTimeFormatter, String>();
public static DateTimeFormatter forPattern(String pattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(pattern);
patternHistory.put(dateTimeFormatter, pattern);
return dateTimeFormatter;
}
public static String getPattern(DateTimeFormatter dateTimeFormatter) {
return patternHistory.get(dateTimeFormatter);
}
}
Затем вы можете сделать это:
DateTimeFormatter formatter = ReversableDateTimeFormat.forPattern("yyyyMMdd");
String originalPattern = ReverseableDateTimeFormat.getPattern(formatter);