2012-08-17 25 views
8

Duplicar posibles:
How to get the first date and last date of the previous month? (Java)primera y última fecha del mes anterior

en Java, cómo conseguir el primero y el último día del mes anterior?

Si no me equivoco, el siguiente código es para obtener la última fecha del mes anterior.

Calendar aCalendar = Calendar.getInstance(); 
aCalendar.set(Calendar.DAY_OF_MONTH, -1);  
aCalendar.add(Calendar.DAY_OF_MONTH, -1) ; 
System.out.println(new Timestamp(aCalendar.getTime().getTime())); 

Corríceme si me equivoco.

Gracias.

+1

Usted dice "* corrígeme si estoy equivocado *". ¿Qué ves cuando ejecutas este código? – Lion

+0

@keppil: Gracias ayudó y lamento haberme perdido para ver el enlace antes de publicar esto. –

Respuesta

28

Uso getActualMaximum()

Calendar aCalendar = Calendar.getInstance(); 
// add -1 month to current month 
aCalendar.add(Calendar.MONTH, -1); 
// set DATE to 1, so first date of previous month 
aCalendar.set(Calendar.DATE, 1); 

Date firstDateOfPreviousMonth = aCalendar.getTime(); 

// set actual maximum date of previous month 
aCalendar.set(Calendar.DATE,  aCalendar.getActualMaximum(Calendar.DAY_OF_MONTH)); 
//read it 
Date lastDateOfPreviousMonth = aCalendar.getTime(); 
+0

aleaCalendar.setCalendar.DATE, 1); esta línea debe ser modificada a aCalendar.set (Calendar.DATE, 1); – sandeepkunkunuru

14
Calendar aCalendar = Calendar.getInstance(); 
aCalendar.set(Calendar.DATE, 1); 
aCalendar.add(Calendar.DAY_OF_MONTH, -1); 
Date lastDateOfPreviousMonth = aCalendar.getTime(); 
aCalendar.set(Calendar.DATE, 1); 
Date firstDateOfPreviousMonth = aCalendar.getTime(); 
Cuestiones relacionadas