2012-08-17 7 views
8

Powiel możliwe:
How to get the first date and last date of the previous month? (Java)Get pierwszy i ostatni dzień poprzedniego miesiąca

w Javie, jak zdobyć pierwszy i ostatni dzień poprzedniego miesiąca?

Jeśli się nie mylę, poniższy kod służy do uzyskania ostatniej daty poprzedniego miesiąca.

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())); 

Popraw mnie, jeśli się mylę.

Dziękuję.

+1

Mówisz "* Popraw mnie jeśli się mylę *". Co widzisz po uruchomieniu tego kodu? – Lion

+0

@keppil: Dziękuję, pomogło i przepraszam, że przegapiłem, aby zobaczyć link, zanim to opublikuję. –

Odpowiedz

28

Zastosowanie 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); ta linia musi zostać zmodyfikowana do pliku Calendar.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();