在搜索过程中,我想获得一些有关我的问题的信息。
我想在当前日期减去三个月,所以通常:
##set($user.end = $date.format("yyyy-MM-dd", $date.date))
##set($user.begin = "${user.end}-03")
但我什么也没恢复。
我尝试一下:
##set($R = $date.format("yyyy-MM", $date.date))
##set($query.end = $R)
##set($user.begin = "${R}-03")
#set($query.end = $date.format("yyyy-MM", $date.date))
但是我什么也没得到,请问你有什么建议可以给我吗?
啤酒。
最佳答案
第一个建议是不要为事物编写自己的语法。 :) Java 或 Velocity 中都没有日期减法。您必须自己设置该值。在 Java 中或通过自定义工具在 Velocity 中执行此操作可能会更好,但无论如何这里都是在 VTL 中...
#set( $user.end = $date.format("yyyy-MM", $date.date) )
#set( $begin = $date.date.clone() )
#set( $month = $begin.month - 3 )
#if( $month < 0 )
#set( $month = $month + 12 )
#set( $begin.year = $begin.year - 1)
#end
#set( $begin.month = $month )
#set( $user.begin = $date.format("yyyy-MM", $begin) )
当然,这只是通过 Velocity 使用 java.util.Date API。 http://docs.oracle.com/javase/7/docs/api/java/util/Date.html
关于java - 减去日期并恢复和速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820787/