用Groovy语言操作日期

时间:2015-07-29 10:59:52

标签: groovy

我在Groovy中有这个脚本:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>j`enter code here`ava</goal>
            </goals>
            <configuration>
                <classpathScope>compile</classpathScope>
                <mainClass>com.vaadin.sass.SassCompiler</mainClass>
                <arguments>
                    <argument>src/main/webapp/VAADIN/themes/touchkit/styles.scss</argument>
                    <argument>src/main/webapp/VAADIN/themes/touchkit/styles.css</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

我希望能够操纵日期以便播放&#39;与它的日期.. 例如,如果我有这个:currentDate = new Date().format( 'yyyyMMdd' ) 我想减去天,周或月,例如,如果我减去一天它将是20150701

如何在不使用20150630的情况下执行此操作?

谢谢!

2 个答案:

答案 0 :(得分:1)

如果没有TimeCategory,则只能添加或减去天数。如果您想添加/减去其他字段,TimeCategory是一个很好的方法。

如果你对TimeCategory的烦恼是with语法,一种替代方法是使用mixins(尽管它们通常被认为已弃用,因为特性已添加到Groovy中):

[Date, Integer].each { it.mixin(groovy.time.TimeCategory) }
def lastMonth = new Date() - 1.months

答案 1 :(得分:0)

好的我有答案,我试过这个并且有效:

currentDate = new Date()
def yesterday = currentDate - 1

currentDate = yesterday.format("yyyyMMdd")