본문 바로가기

Programming/Java

Calendar class 활용하기

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
55
56
57
58
59
60
61
62
63
64
65
Calendar cal = Calendar.getInstance();
 
// 취득 오늘날짜
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;    // 0 ~ 11
int day = cal.get(Calendar.DATE);
 
System.out.println(year + "년 " + month + "월 " + day + "일");
/*
cal.set(Calendar.YEAR, 2019);
cal.set(Calendar.MONTH, Calendar.JANUARY);
cal.set(Calendar.DATE, 15);
 
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH) + 1;    // 0 ~ 11
day = cal.get(Calendar.DATE);
 
System.out.println(year + "년 " + month + "월 " + day + "일");
*/
 
String ampm = cal.get(Calendar.AM_PM)==0?"오전":"오후"; //0이면 오전 1이면 오후
 
System.out.println("ampm = " + ampm);
 
// 요일
int weekday = cal.get(Calendar.DAY_OF_WEEK);        //1 ~ 7 일월화수목금토
System.out.println("weekday = " + weekday);
 
 
// 지정한 날의 마지막 날짜 취득  28 29 30 31
 
cal.set(Calendar.MONTH, 4 - 1);
 
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("lastDay = " + lastDay);
 
// 연월일을 설정하면, 달력의 빈칸이 몇개 있는지 취득
year = 2019;
month = 7;
day = 1;
 
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
cal.set(Calendar.DATE, day);
 
weekday = cal.get(Calendar.DAY_OF_WEEK);    //요일
 
// 위쪽 빈칸 수
int upEmpty = (weekday - 1) % 7;
System.out.println("위쪽의 빈칸은 " + upEmpty+"입니다");
 
// 마지막 일자
lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("lastDay = " + lastDay);
 
// 밑쪽 빈칸을 구하기 위해서
day = lastDay;
cal.set(Calendar.DATE, day);
 
// 요일을 다시 구한다
weekday = cal.get(Calendar.DAY_OF_WEEK);
 
// 밑쪽 빈칸 수
int downEmpty = 7 - weekday;
System.out.println("밑쪽의 빈칸은 " + downEmpty + "입니다");

Calendar 클래스는 추상클래스라서 


Calendar cal = new Calendar(); 이런식으로 사용 불가능함.

Calendar cal = new GregorianCalendar();

혹은, 위에 기술한 방법대로 사용을 한다. 


별다른 설정없이 생성을 하면 본인 컴퓨터기준의 현재 시간정보가 저장되는듯 하다.


월은 0~11까지 사용 , 즉 +1 해줘야함.