2012-08-17 9 views
8

가능한 중복 : 자바에서
How to get the first date and last date of the previous month? (Java)이전 달의 첫 번째와 마지막 날짜를 가져

, 어떻게 이전 달의 첫 번째와 마지막 날짜를 얻는 방법?

내가 틀리지 않다면 다음 코드는 지난 달 마지막 날짜를 얻는 것입니다.

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

내가 잘못하면 나를 교정하십시오.

감사합니다.

+1

당신은 "나는 * 잘못 생각하는 경우 정정 해줘 *"말한다. 이 코드를 실행할 때 무엇이 ​​보입니까? – Lion

+0

@keppil : 감사합니다. 유감스럽게 생각합니다. 게시하기 전에 링크를 보지 못했습니다. –

답변

28

사용 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); 이 행은 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(); 
관련 문제