int ( !)
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 (: df - SimpleDateFormatter ):
public BooleanModel exec(List args) throws TemplateModelException {
int argcnt = args.size();
if (argcnt != 3) {
throw new TemplateModelException("Wrong arguments. Use \"exec(Date?string(\"yyyyMMddHHmmss\"), " +
"CompareString, Date?string(\"yyyyMMddHHmmss\"))\"," +
" where CompareString is < = > ");
}
String firstDate = (String) args.get(0);
String compareString = (String) args.get(1);
String secondDate = (String) args.get(2);
if (null == firstDate || null == secondDate || null == compareString ||
compareString.length() != 1) {
throw new TemplateModelException("Wrong arguments. Use \"exec(Date?string(\"yyyyMMddHHmmss\"), " +
"CompareString, Date?string(\"yyyyMMddHHmmss\"))\"," +
" where CompareString is < = > ");
}
Date first = null;
Date second = null;
try {
first = df.parse(firstDate);
second = df.parse(secondDate);
} catch (ParseException e) {
throw new TemplateModelException("Wrong arguments. Use \"exec(Date?string(\"yyyyMMddHHmmss\"), " +
"CompareString, Date?string(\"yyyyMMddHHmmss\"))\"," +
" where CompareString is < = > ");
}
if ("<".equals(compareString)) {
return new BooleanModel(first.before(second), BeansWrapper.getDefaultInstance());
}
else if ("=".equals(compareString)) {
return new BooleanModel(first.equals(second), BeansWrapper.getDefaultInstance());
}
else if (">".equals(compareString)) {
return new BooleanModel(first.after(second), BeansWrapper.getDefaultInstance());
}
return new BooleanModel(Boolean.FALSE, BeansWrapper.getDefaultInstance());
}
:
[#if compareDate(now?string("yyyyMMddHHmmss"),"<", program.resStartDateTime?string("yyyyMMddHHmmss"))]
FYI, "now" - DateModel, .
model.put("now", new DateModel(new Date(), BeansWrapper.getDefaultInstance()));
TemplateMethodModel , .