본문 바로가기

Language/Java / JSP

[Java]특정날짜 요일 구하기

반응형

일을 하다보면 자주는 아니지만 가끔씩 특정날짜에 대한 요일을 알아내야 할 경우가 생긴다.

Java에 있는 Calendar 객체를 사용하면 아주아주 쉽게 구현이 가능하다.


Calendar.DAY_OF_WEEK 를 사용하면 해당 날짜에 대한 요일이 숫자로 리턴되는데,

일요일부터 토요일까지 1부터 시작해서 순차적으로 나타낸다.


아래 예제는 날짜와, 날짜 형식(yyyy-MM-dd)을 받아 해당 요일을 한글로 리턴해주는 코드이다.


/**
 * 특정 날짜에 대하여 요일을 구함(일 ~ 토)
 * @param date
 * @param dateType
 * @return
 * @throws Exception
 */
public String getDateDay(String date, String dateType) throws Exception {

	
	String day = "" ;
	
	SimpleDateFormat dateFormat = new SimpleDateFormat(dateType) ;
	Date nDate = dateFormat.parse(date) ;
	
	Calendar cal = Calendar.getInstance() ;
	cal.setTime(nDate);
	
	int dayNum = cal.get(Calendar.DAY_OF_WEEK) ;
	
	
	
	switch(dayNum){
		case 1:
			day = "일";
			break ;
		case 2:
			day = "월";
			break ;
		case 3:
			day = "화";
			break ;
		case 4:
			day = "수";
			break ;
		case 5:
			day = "목";
			break ;
		case 6:
			day = "금";
			break ;
		case 7:
			day = "토";
			break ;
			
	}
	
	
	
	return day ;
}




나같은 경우 공통 클래스에 해당 메소드를 추가하여 필요시마다 호출하여 사용한다.