Похоже, что сконфигурированные аннотации форматеры предназначены для использования только с полями объекта и параметрами метода.Более того, похоже, они забыли предоставить удобную точку входа для использования этих функций вручную.Таким образом, вы можете сделать что-то вроде этого:
public class Foo {
@DateTimeFormat(pattern="yyyy-MMM-dd hh:mmaa")
DateTime myJodaDateTime = ...;
}
...
ConversionService cs = ...; // FormattingConversionService with default formatters
System.out.println(
cs.convert(
foo.myJodaDateTime,
new TypeDescriptor(Foo.class.getDeclaredField("myJodaDateTime")),
TypeDescriptor.valueOf(String.class)
)
);
В качестве альтернативы вы можете использовать
BeanPropertyBindingResult r = new BeanPropertyBindingResult(foo, "foo");
r.initConversion(cs);
System.out.println(r.getFieldValue("myJodaDateTime"));
, но это выглядит как злоупотребление функциональностью привязки данных.