java - 减去日期并恢复和速度

标签 java date velocity

在搜索过程中,我想获得一些有关我的问题的信息。

我想在当前日期减去三个月,所以通常:

##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/

相关文章:

java - 无列名 - 创建后

javafx.scene.robot.Robot 与 java.awt.Robot

java - 类型中的方法不适用于参数 (int)

javascript - Ajax 以 dd/mm/yyyy 格式获取日期

Java 8 DateTimeFormatter 拒绝带有偏移量的正确 ISO 8601 日期/时间

java - 在java中显示灰度图像

sql - 在 T-SQL 中,当另一行 <> 'X' 时检索最新日期的一行数据

java - 如何更改速度模板中的小数分隔符?

arrays - 使用速度 split() 将字符串拆分为数组似乎不起作用

java - 强制以 UTF-8 写入 Velocity 文件