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

Edit Java Date statement from 1 year ago to 6 months ago

有人要求我在基于 Java 的 CMS 中编辑这些日期绑定,但我不太熟悉这段代码。而且这个系统没有文档。

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

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

我如何编辑该存档日期变量的语句以提取最多 仅 6 个月前 的内容?

我没有用谷歌搜索这个,就像我之前说的,这个系统的文档很差。

我假设它使用 Java 提供的日历 class。我已经提供了一个如何使用它的示例,并希望指导您在哪里进行更改。我也会在下面写一些代码。

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();

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

field 参数不应像您的代码中那样输入为纯数字。您应该考虑更改为 Calendar.MONTHCalendar.YEAR 等...以进行澄清和将来的代码维护。这应该看起来更干净:

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