📖 Calendar
💻 Calendar EX.날짜 getter, setter
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
System.out.println(year + "/" + month + "/" + day);
cal.set(Calendar.YEAR, 2023);
cal.set(Calendar.MONTH, 3 - 1);
cal.set(Calendar.DATE, 16);
System.out.println(year + "/" + month + "/" + day);
💻 Calendar EX.달력만들기
package sample19;
import java.util.Calendar;
public class MainClass {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
System.out.println(year + "/" + month + "/" + day);
String ampm = cal.get(Calendar.AM_PM) == 0 ? "오전":"오후";
System.out.println(ampm);
int weekday = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(weekday);
switch(weekday) {
case 1:
System.out.println("일요일");
break;
case 2:
System.out.println("월요일");
break;
case 3:
System.out.println("화요일");
break;
case 4:
System.out.println("수요일");
break;
case 5:
System.out.println("목요일");
break;
case 6:
System.out.println("금요일");
break;
case 7:
System.out.println("토요일");
break;
}
int lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(lastday);
cal.set(Calendar.DATE, 1);
weekday = cal.get(Calendar.DAY_OF_WEEK);
int upEmpty = (weekday - 1) % 7;
System.out.println("위의 빈칸의 수 : " + upEmpty);
lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DATE, lastday);
weekday = cal.get(Calendar.DAY_OF_WEEK);
int downEmpty = 7 - weekday;
System.out.println("밑의 빈칸의 수 : " + downEmpty);
calendarPrint(1995, 9);
}
static void calendarPrint(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month -1);
cal.set(Calendar.DATE, 1);
int startDay = cal.get(Calendar.DAY_OF_WEEK);
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
year = cal.get(Calendar.YEAR);
month = cal.get(Calendar.MONTH) + 1;
System.out.println(year + "년" + month + "월");
System.out.println("==========================================================");
String week_day = "일월화수목금토";
for (int i = 0; i < week_day.length(); i++) {
char c = week_day.charAt(i);
System.out.print(c + "\t");
}
System.out.println();
System.out.println("==========================================================");
for(int i = 1; i < startDay; i++) {
System.out.print("*" + "\t");
}
int _day = 1;
for(int i = 0; i < lastDay; i++) {
System.out.print(_day + "\t");
if((_day + startDay - 1)% 7 == 0) {
System.out.println();
}
_day++;
}
for(int i = 0; i < 7 - (startDay + lastDay - 1) % 7; i++) {
System.out.print("*" + "\t");
}
System.out.println();
System.out.println("==========================================================");
}
}