Does anybody know of any plans to support the new java.time api in FreeMarker? Or has anybody code laying around for supporting classes like ZonedDateTime, LocalDateTime and
Let's assume that you want format new date/time objects
Create custom method:
public static class FormatDateTimeMethodModel
implements TemplateMethodModelEx {
public Object exec(List args) throws TemplateModelException {
if (args.size() != 2) {
throw new TemplateModelException("Wrong arguments");
}
TemporalAccessor time = (TemporalAccessor) ((StringModel) args.get(0)).getWrappedObject();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(((SimpleScalar) args.get(1)).getAsString());
return formatter.format(time);
}
}
Put this method into template model:
templateModel.put("formatDateTime", new FormatDateTimeMethodModel());
And invoke this method inside of template:
${formatDateTime(MY_DATE, 'HH:mm')}