보뇨 다이어리

Calendar 클래스에서 특정 날짜의 요일가져오기 본문

컴퓨터 관련/Java 정보

Calendar 클래스에서 특정 날짜의 요일가져오기

보뇨 2019. 7. 17. 22:31
반응형

음...결론부터 말하면 원래 안됨 !! 이게 뭔소리인가 하면 한번 코드를 먼저 보자

Calendar cal = Calendar.getInstance();
System.out.println(call.DAY_OF_WEEK);
call.set(1995, 5, 25);
System.out.println(call.DAY_OF_WEEK);

이렇게 해봤자 DAY_OF_WEEK 은 변함이 없이 동일한 값을 뱉는다 왜 그럴까 찾아보니 문서쪽에 잘나와있더라..^^;

Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH. Previous values of other calendar fields are retained. If this is not desired, call clear() first.

그래서 이런 방법으로 구현했다 물론 deprecated 이긴하지만 현재로썬 이것밖에 안되네 getTime 메소드의 반환값이 Date 클래스이기때문에 getDay() 메소드로 가져오게할수있음!!

cal.set(2016, a - 1, b);
String[] day = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
return day[cal.getTime().getDay()];

출처

https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#set(int,%20int,%20int)

https://stackoverflow.com/questions/35154228/calendar-set-method-not-setting-proper-time

반응형