뇨내

[Java-Eclipse] DateTime 본문

JAVA/Overloading + DateTime

[Java-Eclipse] DateTime

삐옥 2021. 12. 13. 23:34

 

 

 

 

 

 


 

Date Time 날짜시간 자료형

 

 1. Date 클래스(legacy)
 2. Calendar 클래스 ★
 3. 추가 클래스

 

1. 시각 : 점

2. 시간 : 구간

 


 1. 현재 시각 얻어오고 원하는 항목 추출

 

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
private static void time() {
        
        //현재 시각 얻어오기 + 원하는 항목 추출하기 + 형식문자(%tF, %tT, %tA)
 
        //Calendar 클래스
        
        //현재 시각 얻어오기
        //java.utill.Calendar
        Calendar c1 = Calendar.getInstance(); // =현재 시각, 자바는 무조건 현재 시각부터 계산 시작
 
        System.out.println(c1);
        
        //Calendar안에 들어있는 여러 데이터 중 원하는 항목만 가져오기
        // - int get(int)
        
        System.out.println();
        
        System.out.println(c1.get(1)); //년도
        System.out.println(c1.get(2)); // ?
        System.out.println(c1.get(3)); // ? 
        System.out.println(c1.get(4)); // ?
        System.out.println(c1.get(5)); // ?
 
        
        int year = 1;
        System.out.println(c1.get(1));        //가독성 낮음
        System.out.println(c1.get(year));    //가독성 높음
 
        //자바가 제공하는 Calendar 상수
        System.out.println(Calendar.YEAR);  // 도움말임, 이 년도라는 변수를 자바가 만들어 준 것임
        System.out.println(c1.get(Calendar.YEAR)); //** 실제로 사용하는 구문
        
        //c1
        System.out.println("---------------------------------");
        System.out.println(c1.get(Calendar.YEAR));                //2021. 년도
        System.out.println(c1.get(Calendar.MONTH));                //11  . 월(0~11) : 11월인 이유이다.
        System.out.println(c1.get(Calendar.DATE));                //13  . 날짜(일)
        System.out.println(c1.get(Calendar.HOUR));                //11  . 시(12H)
        System.out.println(c1.get(Calendar.MINUTE));            //25  . 분
        System.out.println(c1.get(Calendar.SECOND));            //8   . 초
        System.out.println(c1.get(Calendar.MILLISECOND));        //221 . 밀리초(1/1000)
        System.out.println(c1.get(Calendar.AM_PM));                //1   . 오전(0), 오후(1) 
        System.out.println(c1.get(Calendar.DAY_OF_YEAR));        //347 . 일(올해들어 오늘이 며칠째인지)
        System.out.println(c1.get(Calendar.DAY_OF_MONTH));        //13  . 일(이번달 들어서 오늘이 며칠째인지)
        System.out.println(c1.get(Calendar.DAY_OF_WEEK));        //2   . 일(요일) : 이번주 들어서 오늘이 며칠째인지, 일요일부터셈
        System.out.println(c1.get(Calendar.WEEK_OF_YEAR));        //51  . 주(차)  : 올해들어 이번주가 몇주차인지
        System.out.println(c1.get(Calendar.WEEK_OF_MONTH));        //3   . 주(째)  : 이번주가 이번달 들어 몇주째인지
        System.out.println(c1.get(Calendar.HOUR_OF_DAY));        //23  . 시간(째,24H): 오늘 들어 지금이 몇시간째인지
    
        
    }
 
 
 
cs

 

 

 

 

 

 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
    private static void time2() {
        
        //특정 시각 얻어오기
        //1. 현재시각만들기 -> 2. 그 시각을 원하는 시간으로 수정하기
 
        Calendar birthday = Calendar.getInstance();
        
        // ooo,get() : 얻어오기, 읽기 > 메소드
        // ooo,set() : 집어넣기, 쓰기 > 메소드
        
        //수정하기
        // - void set(int 상수, int 값)
        // - void set(int, int, int)
        // - void set(int, int, int, int, int, int)
        
        
        //birthday.set(1995, 9, 12);        
        birthday.set(1995410153025);
        
        //birthday.set(1995, 4, 10);
 
//        birthday.set(Calendar.YEAR, 1995);
//        birthday.set(Calendar.MONTH, 9);
//        birthday.set(Calendar.DATE, 12);
//        birthday.set(Calendar.HOUR, 0);
//        birthday.set(Calendar.MINUTE, 12);
//        birthday.set(Calendar.SECOND, 25);
//        
        
        System.out.printf("%tF %tT\n", birthday, birthday);
        
    }
 
cs

 

 

 

 

 3. 연산

 

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
    private static void time3() {
        
        //연산
        //시각 + 시간 > add()
        //시각 - 시간 > add()
        //시각 - 시각 > tick - tick
        //시간 + 시간 > 산술연산
        //시간 - 시간 > 산술연산
        
        
        //1.  2시간 30분 + 10분 = 2시간 40분
        int hour = 2;
        int min = 30;
        
        min +=10;
        
        System.out.printf("%d시간 %d분\n", hour, min);
        
        //2.  2시간 30분 + 40분 = 3시간 10분
        hour = 2;
        min = 30;
        
        min = min + 40// 2시간 70분
        hour = hour + (min /60); //3시간, 약간 단위 환산 느낌임, 몫 > 자리올림
        min = min % 60//10분 > 나머지 > 분
        System.out.printf("%d시간 %d분\n", hour, min);    
        
        
    }
cs

 

 

 

 

 4. getTimeInMillis(), currentTimeMillis()

1
2
3
4
5
6
7
8
9
10
11
12
    private static void time4() {
        
        //현재 시각의 tick?
        
        Calendar now = Calendar.getInstance();
        System.out.println(now.getTimeInMillis());
        
        //현재 시각의 tick값을 반환하는 전용 메소드
        System.out.println(System.currentTimeMillis());
        
        
    }
cs

 

 

 

 


 

'JAVA > Overloading + DateTime' 카테고리의 다른 글

[Java-Eclipse] Overloading  (0) 2021.12.13
Comments