재유's

[JAVA] 날짜처리 Calendar 클래스 본문

IT Story/Java

[JAVA] 날짜처리 Calendar 클래스

Stella_NY 2018. 12. 17. 10:19

날짜처리 - Calendar 클래스


java.util.Calender 클래스의 객체를 통해 현재 시스템의 시각 정보를 조회하거나 변경, 연산을 수행 할 수있다.



  • 객체 생성

1
2
3
4
5
6
7
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
 
}




  • 현재시각 조회하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
 
    int yy = cal.get(Calendar.YEAR);
    // 자바에서의 월은 0부터 시작된다.
    int mm = cal.get(Calendar.MONTH + 1);
    int dd = cal.get(Calendar.DAY_OF_MONTH);
    int hh = cal.get(Calendar.HOUR_OF_DAY);    // 24시간제
    int mi = cal.get(Calendar.MINUTE);
    int ss = cal.get(Calendar.SECOND);
 
    int dow = cal.get(Calenar.DAY_OF_WEEK) 요일 // 0: 일요일 ~ 6: 토요일
}




  • 12시간제 조회
1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
    int hh = cal.get(Calendar.HOUR);            // 12시간제
    int i = cal.get(Calendar.AM_PM);
    String[] apname = {"오전""오후"};
    String ap = apname[i];
 
}





  • 객체가 포함하고 있는 시각을 다른 시점으로 변경

컴퓨터의 현재시각이 변경되는 것이 아니고, Calendar객체 안에 복사된 변수값들이 변경되는 것이다.


    • 별지정

set() 메서드에 단위와 값을 전달


1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
    cal.set(Calendar.YEAR, 2020);    // 자바는 0부터 월을 관리하므로 5월을 설정한 것임
    cal.set(Calendar.MONTH, 4);
    cal.set(Calendar.DAY_OF_MONTH, 5);
    cal.set(Calendar.HOUR_OF_DAY, 15);
    cal.set(Calendar.MINUTE, 30);
    cal.set(Calendar.SECOND, 33);
}




    • 일괄 지정

년, 월, 일 혹은 년, 월, 일, 시, 분, 초 단위로 값을 전달.

1
2
3
4
5
6
7
8
9
10
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
    cal.set(20181124);    
    cal.set(2018,11,24,1,2,3)  // 월은 0부터 설정하므로 11월로 셋팅하면 12월을 의미
 
}



    • 날짜계산

add() 메서드에 단위와 값을 전달.


1
2
3
4
5
6
7
8
9
10
11
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
    cal.add(Calendar.DAY_OF_MONTH,  100 );
    cal.add(Calendar.YEAR,  -75 );
    cal.add(Calendar.HOUR,  9 );
    cal.add(Calendar.MONTH,  8 );
}




    • 그 밖의 값

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Calendar;
 
public class CalendarEx {
    
    Calendar cal = Calendar.getInstance();  // --> 싱글톤
    
    // 이번달의 주 수    
    int week_count = cal.getActualMaximum(Calendar.WEEK_OF_MONTH);
 
    //이번달의 날짜 수 
    int day_count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}







'IT Story > Java' 카테고리의 다른 글

[JAVA] JSON  (0) 2018.12.18
컬렉션 프레임워크 _ Map(HashMap), List(ArrayList)  (0) 2018.12.17
[JAVA] 예외처리 try ~ catch  (0) 2018.12.14
[JAVA] 정규 표현식 (Regular expression)  (0) 2018.12.14
[JAVA] 패키지(Package)  (0) 2018.12.12
Comments