编辑Java日期声明从1年前到6个月前



我被要求在一个基于java的CMS中编辑这些Date绑定,但是我对这段代码不太熟悉。这个系统没有文档。

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

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

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

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

我假设它使用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();

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

field参数不应该像在代码中那样以普通数字的形式输入。你应该考虑换成Calendar.MONTHCalendar.YEAR等…为了澄清,也为了将来的代码维护。这应该看起来更干净:

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

最新更新