본문 바로가기

IT칼럼/JAVA

JAVA 지정한 날짜 기준으로 시작과 끝(일요일/토요일, 1일/말일) 값 구하기

//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.Calendar;
//import java.util.Date;

String date = "04/03/2019";
String pattern = "MM/dd/yyyy";
Date date1=new SimpleDateFormat(pattern).parse(date);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);  // 출력용으로 쓸 데이트 포맷
Calendar calendar = Calendar.getInstance();
calendar.setTime(date1);   // calendar 구조체에 오늘 날짜를 저장함

calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
String startDate = simpleDateFormat.format(calendar.getTime());   // 출력 형식을 지정해줍니다.
System.out.println(startDate); // 시작하는 일요일 날짜를 출력

calendar.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);
finishDate = simpleDateFormat.format(calendar.getTime());   // 출력 형식을 지정해줍니다.
log.info(finishDate); // 마지막날짜 토요일 날짜를 출력

calendar.set(Calendar.DAY_OF_MONTH,1); //1일은 언제나 1일 ㅡ.ㅡ
startDate = simpleDateFormat.format(calendar.getTime());   // 출력 형식을 지정해줍니다.
log.info(startDate);  // 선택된 달의 1일

calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); //말일 구하기
finishDate = simpleDateFormat.format(calendar.getTime());   // 출력 형식을 지정해줍니다.
log.info(finishDate); // 선택된 달의 말일 출력