sitelink1 https://blog.naver.com/asap0628/220720089602 
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  
Calendar.set() - 날짜 설정하기

 

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
public static void main(String[] args) {
 
    Calendar cal = Calendar.getInstance();    // 현재 시간을 받음.
    
    cal.set(Calendar.YEAR , 1994);
    cal.set(Calendar.MONTH , Calendar.JUNE);
    cal.set(Calendar.DAY_OF_MONTH , 28);
    
    cal.set(Calendar.HOUR_OF_DAY , 14);
    cal.set(Calendar.MINUTE , 25);
    cal.set(Calendar.SECOND , 19);
         
    System.out.println("Year : " + cal.get(Calendar.YEAR));
    System.out.println("Month : " + (cal.get(Calendar.MONTH)+1) ); //괄호 안쪽에 연산을 해줌
    System.out.println("Day of Month : " + cal.get(Calendar.DAY_OF_MONTH));        
    System.out.println("Sun(1) ~ Sat(7) : " + cal.get(Calendar.DAY_OF_WEEK));            
    System.out.println("Hour(0 ~ 23): " + cal.get(Calendar.HOUR_OF_DAY));
    System.out.println("Minute(0 ~ 59): " + cal.get(Calendar.MINUTE));
    System.out.println("Second(0 ~ 59): " + cal.get(Calendar.SECOND));
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
             
}
 
------------------------------------------------------------
result
 
Year : 1994
Month : 6
Day of Month : 28
Sun(1) ~ Sat(7) : 3
Hour(0 ~ 23): 14
Minute(0 ~ 59): 25
Second(0 ~ 59): 19
1994년 6월 28일
14시 25분 19초
cs

 

 

Calendar.set( 설정할 곳 , 설정할 값)

 

 저번에는 Calendar 클래스 선언 하는 방법을 포스팅했죠?ㅎㅎ 이번엔 Calendar에 현재 시간이 아닌 내가 원하는 시간을 설정하는 함수를 소개할까해요. Calendar.set()이라는 함수로 내가 원하는 값으로 날짜와 시간을 설정 할수 있어요. 두가지를 값을 안에 넣어줘야하는데 첫번째 값은 넣고 싶은 곳을 Calendar 필드로(ex Calendar.YEAR ) 두번째는 넣고 싶은 값을( ex 2016)을 넣어주면 돼요. 어렵지 않으니 바로 이해 가실 꺼에요ㅎㅎ

 

 Calendar.MONTH가 0부터 시작해서 불편하다면 괄호안에서 연산 해주시면 돼요. 괄호 밖에서 연산 하면 다른 값이 나와서 원하는 값이 안나와서 괄호를 꼭 기억해주세요.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
 
    Calendar cal = Calendar.getInstance();    // 현재 시간을 받음.
    
    cal.set(1994 , Calendar.JUNE , 28);
    
    cal.set(Calendar.HOUR_OF_DAY , 14);
    cal.set(Calendar.MINUTE , 25);
    cal.set(Calendar.SECOND , 19);
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
             
}
------------------------------------------------------------
result
 
1994년 6월 28일
14시 25분 19초
cs

 

 

Calendar.set( YEAR 값 , MONTH 값 , DAY 값)

Calendar.set( YEAR 값 , MONTH 값 , DAY 값 , HOUR_OF_DAT 값 , MINUTE 값 , SECOND 값)

 

 값들을 하나하나 다 넣기 귀찮다면!! 이렇게 한번에 넣어줄 수도 있어요ㅎㅎ 더 귀찮으면 시간까지 한꺼번에 넣으셔도 돼요 ㅎㅎ

 

 

Calendar.add() - 날짜 더하기

 

 

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
public static void main(String[] args) {
 
    Calendar cal = Calendar.getInstance();    
    cal.set(1994 , Calendar.JUNE , 28 , 14 , 25 , 19);  // 1994년 6월 28일 14시 25분 19초
    
    System.out.println("Before add");
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
    
    
    cal.add(Calendar.YEAR , 22);        // 2016년 6월 28일
    cal.add(Calendar.MONTH , -3);       // 2016년 3월 28일
    cal.add(Calendar.DAY_OF_MONTH , 5); // 2016년 4월 2일
    
    cal.add(Calendar.MINUTE , 40);      // 2016년 4월 2일 15시 5분 19초
    
    System.out.println("After add");
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
             
}
------------------------------------------------------------
result
 
Before add
1994년 6월 28일
14시 25분 19초
After add
2016년 4월 2일
15시 5분 19초
 
 
cs

 

 Calendar.add( 더할 곳 , 더할 값)

 

 이번엔 set과 거의 똑같은 Calendar.add()함수를 볼께요. 이 함수는 말 그대로 날짜를 더해주는 함수에요. 소스 주석에 순서대로 변하는 값들을 같이 써놨으니 비교 하면서 보면 편하실꺼에요 ㅎㅎ

 

 주의 하면서 봐주실 곳은 

     1 . cal.add(Calendar.MONTH , -3); 이렇게 쓰면 빼기도 된다는거ㅎㅎ

 

2. cal.add(Calendar.DAY_OF_MONTH , 5); 2016년 3월 28일에 5일을 더하면 2016년 4월 2일로 MONTH값도 같이 바뀌는

  부분을 잘 봐주세요. 밑에 있는 roll 함수와 차이점 이니까요 ㅎㅎ

 

 

Calendar.roll() - 그 부분만 날짜 더하기

 

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
public static void main(String[] args) {
 
    Calendar cal = Calendar.getInstance();    
    cal.set(1994 , Calendar.JUNE , 28 , 14 , 25 , 19);  // myCal 설정 시간
    
    System.out.println("Before add");
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
    
    
    cal.add(Calendar.YEAR , 22);        // 2016년 6월 28일
    cal.add(Calendar.MONTH , -3);       // 2016년 3월 28일
    cal.roll(Calendar.DAY_OF_MONTH , 5); // 2016년 3월 2일
    
    cal.roll(Calendar.MINUTE , 40);      // 2016년 3월 2일 14시 5분 19초
    
    System.out.println("After add");
    
    System.out.println( cal.get(Calendar.YEAR) + "년 " + (cal.get(Calendar.MONTH)+1)
                       + "월 " + cal.get(Calendar.DAY_OF_MONTH) + "일");
    System.out.println( cal.get(Calendar.HOUR_OF_DAY) + "시 " + cal.get(Calendar.MINUTE)
                       + "분 " + cal.get(Calendar.SECOND) + "초");
             
}
------------------------------------------------------------
result
 
Before add
1994년 6월 28일
14시 25분 19초
After add
2016년 3월 2일
14시 5분 19초
cs

 

 

 Calendar.roll( 더할 곳 , 더할 값)

 

Calendar.add() 함수와의 차이점이 보이시나요??? 두군데가 있죠??ㅎㅎ

 

 1. cal.add(Calendar.DAY_OF_MONTH , 5); // 2016년 4월 2일 

-------> cal.roll(Calendar.DAY_OF_MONTH , 5); // 2016년 3월 2일

 

2. cal.add(Calendar.MINUTE , 40);      // 15시 5분 19초

-------> cal.roll(Calendar.MINUTE , 40);      // 14시 5분 19초

 

 

 

 두가지 부분을 보면 차이점이 보이시죠?? roll() 함수가 add() 함수와 다른점은 올림? (분이 올리가면 시간이 바뀌는 것) 이 안된다는거에요. 3월 28일에 5일을 더하면 add() 함수는 4월 2일 이지만 roll() 함수는 3월 2일 이라는거ㅎㅎ 아무래도 실제로 쓰기에는 실제 시간과 같은 add() 함수가 편하니 차이점만 알아두시면 좋을꺼 같아요,

번호 제목 글쓴이 날짜 조회 수
286 MySQL 한글깨짐현상 제거 ( UTF8 ) 황제낙엽 2019.12.08 941
285 java.util.ConcurrentModificationException 황제낙엽 2019.09.08 638
284 String, StringBuilder, StringBuffer file 황제낙엽 2019.08.03 721
283 String vs StringBuffer vs StringBuilder in Java 황제낙엽 2019.08.03 1008
» Calendar.set() - 날짜 설정하기, Calendar.add() - 날짜 더하기, Calendar.roll() - 그 부분만 날짜 더하기 황제낙엽 2019.08.02 727
281 File 클래스 정리 황제낙엽 2019.07.29 793
280 파일 사이즈를 반환하는 유틸 함수 황제낙엽 2019.07.29 872
279 BufferedReader, BufferedWriter를 활용한 빠른 입출력 황제낙엽 2019.07.29 786
278 현재날짜, 현재시간을 원하는 형태로 출력하는(Format) 다양한 방법 file 황제낙엽 2019.07.29 685
277 자바 소수점 n번째 자리까지 반올림하기 황제낙엽 2019.07.29 778
276 java base64 encodeing,decoding 사용법 황제낙엽 2019.07.24 669
275 java.lang.StackTraceElement Class의 내용 출력 황제낙엽 2019.07.03 767
274 세션의 timeout 설정 >> HttpSession.setMaxInactiveInterval() 황제낙엽 2019.07.03 8905
273 [HttpURLConnection] 서버와의 통신 시도 시점 관련 황제낙엽 2019.06.23 863
272 역컴파일러 (decompiler, jad.exe) file 황제낙엽 2019.06.20 671
271 Microsoft SQL Server JDBC 드라이버 2.0 file 황제낙엽 2019.05.22 770
270 수치 데이터 처리 유틸리티 file 황제낙엽 2019.05.12 2102
269 한글 초성 중성 종성 분리 유틸리티(자작) file 황제낙엽 2019.05.07 829
268 한글 초성 중성 종성 분리 (자모분리) 황제낙엽 2019.05.07 768
267 한글 인코딩의 이해 1편: 한글 인코딩의 역사와 유니코드 황제낙엽 2019.05.07 784