2012-01-11 16 views
10

que necesito para obtener una fecha restando un número desde la fecha actual en formato/dd/aaaa MMResta una fecha por 1 o 2 en el maravilloso

llegué a la fecha actual utilizando new Date().format("MM/dd/yyyy")

Por favor, ayuda mí con una función que resta 1,2 a la fecha anterior y produce una fecha en el formato/dd/aaaa MM

he tratado

def today = new Date().format("MM/dd/yyyy") 
def yesterday = today -1 
println today 
println yesterday 

que me da

01/11/2012 
0/11/2012 

Respuesta

18

está restando partir de una cadena

intento:

def today = new Date() 
def yesterday = today - 1 
println today.format("MM/dd/yyyy") 
println yesterday.format("MM/dd/yyyy") 
+0

¡Oh! gracias, también, ¿cómo siempre elige 'dd' para restar? – abi1964

+0

@AbhishekSimon Como dice [en la documentación] (http://groovy.codehaus.org/groovy-jdk/java/util/Date.html#minus%28int%29), _ "Restar un número de días desde esta fecha y devuelve la nueva fecha. "_ –

3

habría que creer que si dijera: MyDate - 2 :)

+0

Esto vino a la mente, pero mi salida era extraño, ver a mi pregunta actualizado – abi1964

+0

@AbhishekSimon Debido a que usted le ha dado formato - que no es un 'date' más. ¿Qué devuelve 'format'? –

5

maravilloso viene con algunos métodos muy útiles para la manipulación fechas que puede usar .previous() para el día anterior y .next() para el día después.

def today = new Date() 
def yesterday = today.previous() 
println today.format("MM/dd/yyyy") 
println yesterday.format("MM/dd/yyyy") 

Esperanza esto ayuda