import java.util.Calendar;
public class CalendarEx {
public static void main(String[] args) {
// * new Calendar() ๋์ , getInstance() ๋ฉ์๋๋ก ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค.
Calendar now = Calendar.getInstance(); // ๊ธฐ๋ณธ ํ์ฌ ๋ ์ง/์๊ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์จ๋ค
printCalendar("ํ์ฌ", now);
// ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ๋ง์ง๋ง ์์
์ผ
Calendar test = Calendar.getInstance();
test.set(2025, Calendar.APRIL, 2); // 2025๋
4์ 02์ผ๋ก ๋ ์ง ์ง์
printCalendar("์๋ฐ ๋ง์ง๋ง ์์
์ผ(์ฐ/์/์ผ)", test);
// ์ข
๊ฐ์ผ
Calendar lastDay = Calendar.getInstance();
lastDay.set(2025, Calendar.SEPTEMBER, 16, 18, 20, 0);
printCalendar("์ข
๊ฐ์ผ : ", lastDay);
// ์ค๋๋ก๋ถํฐ ์ข
๊ฐ์ผ ๊น์ง D-Day
// getTimeInMillis() : ๋ ์ง๋ฅผ ms(๋ฐ๋ฆฌ์ด) ๋จ์๊น์ง ์ซ์๋ก ๋ฐํ
// 1970๋
1์ 1์ผ 0์ 0๋ถ 0์ด 0ms ๋ถํฐ ํ์ฌ ๋ ์ง/์๊ฐ ๊น์ง ์นด์ดํธํ ์ซ์๋ฅผ ๋ฐํ
// 0.001์ด : 1ms
// 60์ด : 1๋ถ
// 60๋ถ : 1์๊ฐ
// 24์ : 1์ผ
long lastT = lastDay.getTimeInMillis(); // ????10172????
long nowT = now.getTimeInMillis(); // ????10000????
System.out.println("lastT - nowT = " + (lastT - nowT));
long dDay = (lastT - nowT) / (1000 * 60 * 60 * 24);
System.out.println("D-day : " + dDay + "์ผ");
// 1970๋
1์ 1์ผ ~ ์ค๋
// 1970๋
1์ 1์ผ ~ 2025๋
09์ 16์ผ
long nowD = nowT / (1000 * 60 * 60 * 24);
long lastD = lastT / (1000 * 60 * 60 * 24);
System.out.println("1970๋
1์ 1์ผ ~ ์ค๋ : " + nowD);
System.out.println("1970๋
1์ 1์ผ ~ 2025๋
09์ 16์ผ : " + lastD);
// ๋ด๊ฐ ํ์ด๋ ์ง ๋ช ์ผ์ด ๋์๋์ง ๊ตฌํด๋ณด๊ธฐ
Calendar birth = Calendar.getInstance();
birth.set( 1999, Calendar.APRIL, 10 ); // ๋ด ์์ผ๋ก ๋ ์ง ์ง์ ํ๊ธฐ : 1999/04/10
long birthD = birth.getTimeInMillis() / (1000 * 60 * 60 * 24); // ๋ด ์์ผ ms ๋ก ๋ฐํํ๊ณ ์ผ ๋จ์๋ก ํ์ฐํ๊ธฐ
long afterBirth = nowD - birthD; // ์ค๋ - ์์ผ
System.out.println("์ํ " + afterBirth + "์ผ์ด ์ง๋ฌ์ต๋๋ค.");
// ์ค๋์ด ์ข
๊ฐ ์ ์ธ์ง ํ์ธ์ง
if( now.before(lastDay) ) {
System.out.println("์ข
๊ฐ ์ ์
๋๋ค.");
}
else if( now.after(lastDay) ) {
System.out.println("์ข
๊ฐ ํ์
๋๋ค.");
}
if( lastDay.equals(lastDay) ) {
System.out.println("์ข
๊ฐ์
๋๋ค ์ง์๊ฐ์ธ์");
}
}
// ๋ ์ง/์๊ฐ ์ ๋ณด(Calendar)๋ฅผ ์ถ๋ ฅํ๋ ๋ฉ์๋
private static void printCalendar(String msg, Calendar cal) {
int year = cal.get( Calendar.YEAR );
int month = cal.get( Calendar.MONTH ) + 1; // ์(0~11)
int day = cal.get( Calendar.DAY_OF_MONTH );
int dayOfWeek = cal.get( Calendar.DAY_OF_WEEK ); // ์ผ~ํ (1~7)
int hour = cal.get( Calendar.HOUR ); // 12์ ํ์
int hourOfDay = cal.get( Calendar.HOUR_OF_DAY ); // 24์ ํ์
int minute = cal.get( Calendar.MINUTE );
int second = cal.get( Calendar.SECOND );
int millisecond = cal.get( Calendar.MILLISECOND );
int ampm = cal.get( Calendar.AM_PM );
System.out.print(msg + " : ");
System.out.print(year + "/" + month + "/" + day + "/");
// ์ผ์์ผ(1)~ํ ์์ผ(7)
String Day = "";
switch (dayOfWeek) {
case Calendar.SUNDAY: Day = "์ผ์์ผ"; break;
case Calendar.MONDAY: Day = "์์์ผ"; break;
case Calendar.TUESDAY: Day = "ํ์์ผ"; break;
case Calendar.WEDNESDAY: Day = "์์์ผ"; break;
case Calendar.THURSDAY: Day = "๋ชฉ์์ผ"; break;
case Calendar.FRIDAY: Day = "๊ธ์์ผ"; break;
case Calendar.SATURDAY: Day = "ํ ์์ผ"; break;
}
System.out.print(Day);
System.out.print("(" + hourOfDay + "์)" );
if( ampm == Calendar.AM )
System.out.print("์ค์ ");
if( ampm == Calendar.PM )
System.out.print("์คํ ");
System.out.println(hour + "์ " + minute + "๋ถ " + second + "์ด " + millisecond + "๋ฐ๋ฆฌ์ด");
}
}
Java
๋ณต์ฌ