Ant:如何减去两个属性(包含时间戳)?

我正在研究一个ant脚本。 在这个特定的部分,我需要获得当前月份以及上个月。 我在想类似的东西

      

我一直在读财产助手,但我无法得到我需要的东西。 有任何想法吗?

提前致谢。

您可以使用自定义JavaScript scriptdef执行此操作 :

            

我敢肯定一些正则表达式可以令人惊讶,但我只想创建一个自定义任务。

在您的任务中,您可以使用getProjet().setProperty()方法定义新属性。

像下面这样的东西应该足够了:

 public class PreviousMonthTask extends Task { private String currentDate; private String propertyName; public void setCurrentDate(String currentDate) { this.currentDate = currentDate; } public void setPropertyName(String propertyName) { this.propertyName = propertyName; } @Override public void execute() throws BuildException { // calculate the previous month String previousMonth = ...; getProject().setProperty(this.propertyName, previousMonth); } } 

剩下要做的是定义一个带有类的链接的属性文件:

 previousmonth = org.myproject.PreviousMonthTask 

加载任务时(请参阅Ant文档),您只需使用以下命令调用您的任务:

  

ANT的tstamp任务有一个偏移元素:

    

这会给我两天前的时间戳。 如果您的模式是几个月,我希望您能够做同样的事情,那么抵消可能会在几个月内发挥作用。

其实你可以用:

    

所以在前两个月你使用: