2019년 5월 26일 일요일

Java Calendar 이용하여 특정 일자 요일 구하기




* Calendar 특정일자 요일 구하기


Calendar API : https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html



Calendar 클래스를 이용하여 특정 일자를 세팅해보고 요일 문자열을 반환하는 메소드를 작성해보자.

캘린더 클래스는 추상클래스여서 new 키워드를 이용해 바로 객체를 생성할 수 없다. 아래와 같이 인스턴스를 가져오는 메소드를 통해 객체를 얻어올 수 있다.


Calendar cal = Calendar.getInstance();

cal 객체를 얻어온 후 원하는 일자를 set 메소드를 통해 값을 세팅한다.


cal.set(year, month-1, day);

Java 에서 월(month)의 시작은 $0$부터 시작하기 때문에 $6$월이라면 $-1$을 하여 $5$를 입력해야 한다.

값을 입력하고 나면 get 메소드를 이용하여 파라미터로 DAY_OF_WEEK를 넣어주면 캘린더가 해당 일자의 요일을 리턴하게 된다. 


cal.get(Calendar.DAY_OF_WEEK);

아래 코드는 특정일자를 받아서 그 일자의 요일을 찾는 메소드이다.


public static String findDay(int month, int day, int year) {
    int dayNum =0;
    String result="";
    Calendar cal = Calendar.getInstance();
    cal.set(year, month-1, day);
    
    dayNum = cal.get(Calendar.DAY_OF_WEEK);
    if(dayNum ==1) result = "SUNDAY";
    if(dayNum ==2) result = "MONDAY";
    if(dayNum ==3) result = "TUESDAY";
    if(dayNum ==4) result = "WEDNESDAY";
    if(dayNum ==5) result = "THURSDAY";
    if(dayNum ==6) result = "FRIDAY";
    if(dayNum ==7) result = "SATURDAY";
    
    return result;
}

댓글 없음:

댓글 쓰기