编辑Java Date语句从1年前到6个月前

时间:2015-08-26 18:23:53

标签: java date velocity

我被要求在基于Java的CMS中编辑这些日期绑定,但我对此代码不太熟悉。此系统没有任何文档。

以下内容分配给名为 $ archiveDate 的变量。然后在数据库查询中使用它来将内容提取到该存档日期,我认为这是在1年前。

$cal = $tools.date.getCalendar();  
$cal.add(1,-1); 
$cal.getTime();

如何编辑该存档日期变量的语句,以便将内容从最多6个月前提取到

我没有运气谷歌搜索这个,就像我之前说过的那样,这个系统的文档很差。

2 个答案:

答案 0 :(得分:2)

我假设它使用Java提供的Calendar类。我提供了一个如何使用它的示例,并希望指导您进行更改的位置。我还会在下面写一些代码。

http://www.tutorialspoint.com/java/util/calendar_add.htm

我正在做一个假设,那就是代码中的“1”等于Calendar.YEAR。改变你可以使你的代码像这样。

$cal = $tools.date.getCalendar();  
$cal.add(Calendar.MONTH, -6);  //e.g. six months ago
$cal.getTime();

或者作为上述评论之一,如果您更喜欢硬编码值......

$cal = $tools.date.getCalendar();  
$cal.add(2, -6);  //e.g. six months ago
$cal.getTime();

答案 1 :(得分:0)

您需要的文件位于:http://docs.oracle.com/javase/7/docs/api/index.html?java/util/Calendar.html

不应将field参数输入为代码中的普通数字。您应该考虑更改为Calendar.MONTHCalendar.YEAR等...以便澄清,以及将来的代码维护。这应该看起来更干净:

$cal.add(Calendar.MONTH, -6);