我被要求在一个基于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.MONTH
或Calendar.YEAR
等…为了澄清,也为了将来的代码维护。这应该看起来更干净:
$cal.add(Calendar.MONTH, -6);