시소당
/**
* <pre>
* "yyyyMMdd" 형태의 날짜 표현 문자열(dateString)에 대해 해당 요일 값을 반환.
* 1: 일요일 (java.util.Calendar.SUNDAY 와 비교)
* 2: 월요일 (java.util.Calendar.MONDAY 와 비교)
* 3: 화요일 (java.util.Calendar.TUESDAY 와 비교)
* 4: 수요일 (java.util.Calendar.WENDESDAY 와 비교)
* 5: 목요일 (java.util.Calendar.THURSDAY 와 비교)
* 6: 금요일 (java.util.Calendar.FRIDAY 와 비교)
* 7: 토요일 (java.util.Calendar.SATURDAY 와 비교)
*
* @param dateString 날짜 표현 문자열(yyyyMMdd)
* @return int 날짜 형식이 맞고, 존재하는 날짜일 때 요일을 리턴
* @throws java.text.ParseException 형식이 잘못 되었거나 존재하지 않는 날짜
*
* <b>Example)</b>
* int dayOfWeek = DateTimeUtil.whichDay("20070720")
* if (dayOfWeek == java.util.Calendar.MONDAY)
* </pre>
*/
public static final int whichDay(String dateString)
throws java.text.ParseException {
return whichDay(dateString, DEFAULT_DATE_FORMAT);
}
/**
* <pre>
* "yyyyMMdd" 형태의 날짜 표현 문자열(dateString)에 대해 해당 요일 값을 반환.
*
* 1: 일요일 (java.util.Calendar.SUNDAY 와 비교)
* 2: 월요일 (java.util.Calendar.MONDAY 와 비교)
* 3: 화요일 (java.util.Calendar.TUESDAY 와 비교)
* 4: 수요일 (java.util.Calendar.WENDESDAY 와 비교)
* 5: 목요일 (java.util.Calendar.THURSDAY 와 비교)
* 6: 금요일 (java.util.Calendar.FRIDAY 와 비교)
* 7: 토요일 (java.util.Calendar.SATURDAY 와 비교)
* (공통프로그램사용가이드(날짜) 참조)
*
* @param dateString 날짜 표현 문자열(yyyyMMdd)
* @return int 날짜 형식이 맞고, 존재하는 날짜일 때 요일을 리턴
* @throws java.text.ParseException 형식이 잘못 되었거나 존재하지 않는 날짜
*
* <b>Example)</b>
* int dayOfWeek = DateTimeUtil.whichDay("20070720")
* if (dayOfWeek == java.util.Calendar.MONDAY)
* </pre>
*/
public static final String whichDay(String dateString, int printPattern)
throws java.text.ParseException {
String retValue = "";
switch (whichDay(dateString)){
case java.util.Calendar.SUNDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.SUNDAY);
}else if(printPattern==2){
retValue = "일";
}else if(printPattern==3){
retValue = "일요일";
}else if(printPattern==4){
retValue = "SUN";
}else if(printPattern==5){
retValue = "SUNDAY";
}
break;
case java.util.Calendar.MONDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.MONDAY);
}else if(printPattern==2){
retValue = "월";
}else if(printPattern==3){
retValue = "월요일";
}else if(printPattern==4){
retValue = "MON";
}else if(printPattern==5){
retValue = "MONDAY";
}
break;
case java.util.Calendar.TUESDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.TUESDAY);
}else if(printPattern==2){
retValue = "화";
}else if(printPattern==3){
retValue = "화요일";
}else if(printPattern==4){
retValue = "TUE";
}else if(printPattern==5){
retValue = "TUESDAY";
}
break;
case java.util.Calendar.WEDNESDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.WEDNESDAY);
}else if(printPattern==2){
retValue = "수";
}else if(printPattern==3){
retValue = "수요일";
}else if(printPattern==4){
retValue = "WED";
}else if(printPattern==5){
retValue = "WEDNESDAY";
}
break;
case java.util.Calendar.THURSDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.THURSDAY);
}else if(printPattern==2){
retValue = "목";
}else if(printPattern==3){
retValue = "목요일";
}else if(printPattern==4){
retValue = "THU";
}else if(printPattern==5){
retValue = "THURSDAY";
}
break;
case java.util.Calendar.FRIDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.FRIDAY);
}else if(printPattern==2){
retValue = "금";
}else if(printPattern==3){
retValue = "금요일";
}else if(printPattern==4){
retValue = "FRI";
}else if(printPattern==5){
retValue = "FRIDAY";
}
break;
case java.util.Calendar.SATURDAY:
if(printPattern==1){
retValue = String.valueOf(java.util.Calendar.SATURDAY);
}else if(printPattern==2){
retValue = "토";
}else if(printPattern==3){
retValue = "토요일";
}else if(printPattern==4){
retValue = "SAT";
}else if(printPattern==5){
retValue = "SATURDAY";
}
break;
}
return retValue;
}
/**
* <pre>
* 날짜 표현 포맷(format)과 날짜 표현 문자열(dateTimeString)에 대해 해당 요일 값을 반환.
* 1: 일요일 (java.util.Calendar.SUNDAY 와 비교)
* 2: 월요일 (java.util.Calendar.MONDAY 와 비교)
* 3: 화요일 (java.util.Calendar.TUESDAY 와 비교)
* 4: 수요일 (java.util.Calendar.WENDESDAY 와 비교)
* 5: 목요일 (java.util.Calendar.THURSDAY 와 비교)
* 6: 금요일 (java.util.Calendar.FRIDAY 와 비교)
* 7: 토요일 (java.util.Calendar.SATURDAY 와 비교)
*
* @param dateTimeString 날짜 표현 문자열(yyyyMMdd)
* @param format 날짜 표현 포맷 예를들어, "yyyy/MM/dd".
* @return int 날짜 형식이 맞고, 존재하는 날짜일 때 요일을 리턴
* @throws java.text.ParseException 형식이 잘못 되었거나 존재하지 않는 날짜
*
* <b>Example)</b>
* int dayOfWeek = DateTimeUtil.whichDay("20070720", "yyyyMMdd")
* if (dayOfWeek == java.util.Calendar.MONDAY)
* </pre>
*/
public static final int whichDay(String dateTimeString, String format)
throws java.text.ParseException {
java.util.Date date = getDate(dateTimeString, format);
return getCalendar(date).get(java.util.Calendar.DAY_OF_WEEK);
}