Calendar class ์ ๋ฆฌ
Table of contents
Calendar ํด๋์ค
- Calendar ํด๋์ค๋ ์ถ์ ํด๋์ค์ด๋ฏ๋ก ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๊ณ ,
getInstance()
๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค.
Calendar cal = Calendar.getInstance();
- ์๋ ๋ ์ง์ ์๊ฐ์ ๋ค๋ฃฐ ๋ชฉ์ ์ผ๋ก ์ ๊ณต๋์๋ Date ํด๋์ค๋ ์ ์ฌ์ฉ๋์ง ์์ง๋ง, Calendar๋ก ๋ณํํ๊ฑฐ๋ Calendar๋ฅผ Date๋ก ๋ณํํ ์ค ์์์ผ ํ๋ค.
1. Calendar๋ฅผ Date๋ก ๋ณํ
Calendar cal = Calendar.getInstance(); // Calendar ํด๋์ค ํธ์ถ
Date day = cal.getTime(); // Date ํด๋์ค๋ก ๋ณํ
2. Date๋ฅผ Calendar๋ก ๋ณํ
Date d = new Date(); //Date ํด๋์ค ๊ฐ์ฒด ์์ฑ
Calendar cal = Calendar.getInstance(); // Calendar ํด๋์ค ํธ์ถ
cal.setTime(d); // Calendar์ ์๊ฐ์ d๋ก ๋ง์ถค
Calendar ํด๋์ค์ ์ฌ์ฉ
import java.util.Calendar;
class Main{
public static void main(String[] args){
Calendar cal = Calendar.getInstance();
//๋จผ์ Calendar ํด๋์ค๋ฅผ cal ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ํธ์ถํ๊ณ
System.out.println(cal.get(Calendar.(static ์์)));
//์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๊ณ , static ์์ ์๋ฆฌ์ ๋ค์ด๊ฐ๋ ์ข
๋ฅ๋ ๋งค์ฐ ๋ค์ํ๋ค.
System.out.println(cal.get(Calendar.YEAR));
//๋
๋
System.out.println(cal.get(Calendar.MONTH));
//์ : 0~ 11 (11=12์)
System.out.println(cal.get(Calendar.WEEK_OF_YEAR));
//์ด ํด์ ๋ช์งธ ์ฃผ์ธ์ง
System.out.println(cal.get(Calendar.WEEK_OF_MONTH));
//์ด ๋ฌ์ ๋ช์งธ ์ฃผ์ธ์ง
System.out.println(cal.get(Calendar.DATE));
//๋ช ์ผ์ธ์ง
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
//์ด ๋ฌ์ ๋ช์ผ์ธ์ง
System.out.println(cal.get(Calendar.DAY_OF_YEAR));
//์ด ํด์ ๋ช์ผ์ธ์ง
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
//์์ผ 1~7 (1:์ผ์์ผ)
System.out.println(cal.get(Calendar.HOUR));
//์๊ฐ (0~11)
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
//์๊ฐ(0~23)
System.out.println(cal.get(Calendar.MINUTE));
//๋ถ
System.out.println(cal.get(Calendar.SECOND));
//์ด
System.out.println(cal.getActualMaximunm(Calendar.DATE));
//์ด ๋ฌ์ ๋ง์ง๋ง ์ผ
}
}
Calendar ํด๋์ค๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค๋ ๋ ์ง์ ์๊ฐ์ด ์ ์ฅ๋๋ค.
cal.get()
์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ๊ฒ์ด๋ผ๋ฉด,
cal.set()
์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค.
๋ง์ฝ 2022-03-01์ ๋ ์ง๋ฅผ ๊ฐ์ง Calendar ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์ถ๋ค๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค. (Month ํ๋๋ 1์์ด 0)
import java.util.Calendar;
class Main{
public static void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.set(2022,2,1);
System.out.println(cal.get(Calendar.YEAR));
//2022์ด ์ถ๋ ฅ๋ ๊ฒ
System.out.println(cal.get(Calendar.MONTH));
//2์ด ์ถ๋ ฅ๋ ๊ฒ
System.out.println(cal.get(Calendar.DATE));
//1์ด ์ถ๋ ฅ๋ ๊ฒ
}
}
cal.add()
์ cal.roll()
์ ์ฌ์ฉํ๋ฉด ์ํ๋ ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๋บ ์ ์๋ค.
import java.util.Calendar;
class Main{
public static void main(String[] args){
Calendar cal = Calendar.getInstance();
cal.set(2022,0,31);//2022๋
1์ 31์ผ๋ก ์ง์ ํ์๋ (MONTH ํ๋๋ 0๋ถํฐ ์์ํ๋ฏ๋ก 0์ด 1์์ด๋ค.)
cal.add(Calendar.YEAR,1);
//YEAR์ +1 ์ ํด์ค๋ค.
cal.add(Calendar.MONTH,-1);
//MONTH ์ -1 ์ ํด์ค๋ค.
cal.roll(Calendar.DATE,1);
//roll์ด๋ฏ๋ก MONTH์๋ ์ํฅ์ ์ฃผ์ง ์๊ณ DATE๋ง 1๋ก ๋ณํ ๊ฒ
}
}
add๋ ์๋ฅผ ๋ค์ด 7์31์ผ ์ธ ์ํฉ์์ DATEํ๋์ +1์ ํด์ฃผ๋ฉด MONTH ํ๋์๋ ์ํฅ์ ์ฃผ์ด 8์1์ผ์ด ๋์ง๋ง,
rollํ๋๋ ๋ค๋ฅธ ํ๋์๋ ์ํฅ์ ์ฃผ์ง ์์์ 7์1์ผ์ด ๋๋ค.