본문 바로가기
JAVA

[JAVA] 달력의 요일과 주중/주말 구하는 방법

by GoodDayDeveloper 2020. 10. 15.
반응형

안녕하세요. 오늘은 달력의 요일을 구하는 방법과 주중/주말을 구하는 방법을 소개하려합니다.

우선 이 두개는 매우 흡사합니다! 값에 요일을 표시하느냐 / 숫자를 표시하느냐 이 차이가 되겠습니다.

생각만하면 막막하지만 실제로보면 쉬는 로직이니 너무 걱정마세요!

 

 

 

 


만들어과정을 요약하자면

  1. SimpleDateFormat을 통하여 포맷을 날짜형식으로 변경해줍니다.
  2. 그리고 자바에서 제공하는 날짜를 포맷에 넣어주고
  3. 자바에서 제공하는 Calendar의 시간에 set으로 넣어줍니다.
  4. 그리고 숫자 변수(int dayNum)를 만들어서 자바에서 제공하는 Calendar.DAY_OF_WEEK, 즉 한 주를 계산하는 식을 넣어줍니다.
  5. 그리고 switch함수에다가 모든걸 합친 dayNum를 넣어줘서 1부터 7까지의 값을 구합니다.

(자바의 Calendar.DAY_OF_WEEK함수는 1은 일요일, 2는 월요일 순으로 인식하게 됩니다.)

 

 

 

 

요일구하는방법

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public static String getDateDayName(String date) throws Exception {
 
   
  String day = "" ;
   
  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd") ;
  java.util.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 ;
}
cs

 

 

주중주말구하는방법

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public static String getDateDayCode(String date) throws Exception {         
  String day = "" ;         
  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd") ;
  java.util.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 = "2"//"일";  
          break ;
      case 2:
          day = "1"//"월";
          break ;
      case 3:
          day = "1"//"화";
          break ;
      case 4:
          day = "1"//"수";
          break ;
      case 5:
          day = "1"//"목";
          break ;
      case 6:
          day = "1"//"금";
          break ;
      case 7:
          day = "2"//"토";
          break ;
           
  }
   
  return day ;
}
cs

 

반응형

댓글