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() 함수가 편하니 차이점만 알아두시면 좋을꺼 같아요,

번호 제목 글쓴이 날짜 조회 수
311 ResultSet 의 사이즈로 조회 결과가 있는지 확인 황제낙엽 2021.01.14 42
310 지정한 일자보다 하루 뒤로 설정하기 황제낙엽 2021.01.14 15
309 for, while 등의 loop구문에서 sleep하기 황제낙엽 2020.12.04 55
308 미디어 파일의 metadata를 읽자 (metadata-extractor) file 황제낙엽 2020.08.30 583
307 [HttpURLConnection] Authorization 헤더를 넣어 GET Request 황제낙엽 2020.08.12 376
306 직접 작성한 PropertiesUtil.java 황제낙엽 2020.07.21 35
305 [Online Book] manning사의 making java groovy 황제낙엽 2020.06.19 30
304 자바(JAVA) 어노테이션(Annotation) 황제낙엽 2020.04.10 29
303 [AWS, 웹 프로젝트] AWS+MySQL+SpringFrameWork5+JAVA8+ React+Gradle+Webpack+GIT+Jenkins file 황제낙엽 2020.04.08 48
302 Runtime 클래스의 exec() 함수 실행시의 실행 결과 수집 황제낙엽 2020.03.26 72
301 SQLite JDBC Driver 황제낙엽 2020.02.25 131
300 MySQL 한글깨짐현상 제거 ( UTF8 ) 황제낙엽 2019.12.08 573
299 java.util.ConcurrentModificationException 황제낙엽 2019.09.08 62
298 String, StringBuilder, StringBuffer file 황제낙엽 2019.08.03 58
297 String vs StringBuffer vs StringBuilder in Java 황제낙엽 2019.08.03 219
» Calendar.set() - 날짜 설정하기, Calendar.add() - 날짜 더하기, Calendar.roll() - 그 부분만 날짜 더하기 황제낙엽 2019.08.02 89
295 File 클래스 정리 황제낙엽 2019.07.29 91
294 파일 사이즈를 반환하는 유틸 함수 황제낙엽 2019.07.29 120
293 BufferedReader, BufferedWriter를 활용한 빠른 입출력 황제낙엽 2019.07.29 77
292 현재날짜, 현재시간을 원하는 형태로 출력하는(Format) 다양한 방법 file 황제낙엽 2019.07.29 66