Если этот формат даты довольно «случайный», и вам нужно это много делать, то вам, вероятно, лучше написать реализацию freemarker.core.TemplateDateFormat
+ TemplateDateFormatFactory
, выполнить логику парсинга сложной даты в Java, а затем зарегистрироватьфабрика как «пользовательский формат даты» (это настройка конфигурации FreeMarker), скажем, с именем "random"
.Тогда вы можете сделать ${OCRResponse.Date?date.@random?string('MM-dd-yy')}
.Если вы установите для параметра конфигурации date_format
значение MM-dd-yy
, то вы даже можете просто написать ${OCRResponse.Date?date.@random}
.
. Вы можете найти конкретные примеры определения пользовательских форматов здесь: https://freemarker.apache.org/docs/pgui_config_custom_formats.html
Другая возможность, конечно, использовать #if
/ #elseif
/ #else
.Если вам нужно сделать это в нескольких местах, поместите логику парсера в #function
, где вы #return
проанализировали дату.Поэтому, когда вы вставляете дату, у вас просто есть что-то вроде ${parseRandom(OCRResponse.Date)}
(здесь я предположил, что date_format
- это MM-dd-yy
, в противном случае добавьте ?string('MM-dd-yy')
).