问题描述
我是freemarker的新手。
在freemarker中,我想在DateTime上执行如下算术表达式:
${triggerTimestamp}-1h
但这不起作用。有人可以帮忙吗?
解决方法
FreeMarker并没有开箱即用的日期/时间算术功能(至少从2.3.30开始)。预期数据模型(上下文)包含您实际要显示的值。但是可以用Java实现一些辅助方法。
,您将要探索将日期转换为unix / epoch时间。如果将?long
添加到变量的末尾,则会将日期时间转换为纪元时间(以秒为单位),然后进行数学运算并将其转换回日期。您的例子是
${(triggerTimestamp?long - 1 * 1000 * 60 * 60)?number_to_datetime?string.iso}