2013-06-25 17 views
7

Gibt es in Grails eine einfache Möglichkeit, Monate zu einem Datum hinzuzufügen oder von einem Datum zu subtrahieren?Grails + Wie füge ich Monate zu einem Datum hinzu?

Wir haben Methoden wie dateObj.add (10), die 10 Tage bis dateObj hinzufügen würde. Also meine Frage ist, gibt es eine Möglichkeit, Monate hinzuzufügen.

Antwort

25

Die TimeCategory-Klasse stellt eine DSL für die Manipulation der Zeit:

import groovy.time.TimeCategory 

use (TimeCategory) { 
    twoMonthsFromNow = new Date() + 2.month 
} 

Die Dokumentation für TimeCategory kann here finden.

+0

Schön, den Link zu den Dokumenten hinzuzufügen! – jseals

5

können Sie versuchen:

d = new GregorianCalendar() 
d.setTime(new Date()) 
d.add(Calendar.MONTH,5) 
d.getTime() 
+0

Danke Adrien, das hat funktioniert. Aber ich war auf der Suche nach einem einzigen Liner. Etwas wie 'dateObj.add (10)', das dem dateObj natürlich 10 Tage hinzufügt. – ashipj

+1

Vielleicht können Sie TimeCategory verwenden. Dies ist ein Beispiel: https://gist.github.com/gfrison/812501 –

+0

Ja, auf der Grundlage der Syntax, das war genau das, was ich suchte. Aber ich denke, das ist nicht im Grails Bundle enthalten, da es keine Möglichkeit gibt, die Klasse org.codehouse.groovy.runtime.TimeCategory_ zu lösen. Danke Adrien – ashipj

Verwandte Themen