Вы можете преобразовать строку в целое число (следите за ролловерами!) И сравнить в соответствии с http://sourceforge.net/projects/freemarker/forums/forum/2345/topic/3027925?message=6479650
Будьте осторожны, не превышайте максимальное значение типа int, если добавляете дополнительные цифры, например, в миллисекундах.
(из приведенной выше ссылки)
[#assign Adate = myDateA?string("yyyyMMdd")?number?int ]
[#assign Atime = myDateA?string("HHmmss")?number?int ]
[#assign Bdate = myDateB?string("yyyyMMdd")?number?int ]
[#assign Btime = myDateB?string("HHmmss")?number?int ]
То, что я сделал, - это создание TemplateMethodModel для сравнения дат (Примечание.1011 * В шаблоне я называю его следующим образом:
[#if compareDate(now?string("yyyyMMddHHmmss"),"<", program.resStartDateTime?string("yyyyMMddHHmmss"))]
К вашему сведению, "сейчас" - это объект DateModel, добавленный перед обработкой шаблона.
model.put("now", new DateModel(new Date(), BeansWrapper.getDefaultInstance()));
TemplateMethodModel можно сделать более общимпутем передачи строки синтаксического анализа в качестве аргумента и создания средства форматирования даты при выполнении.