자바 캘린더 활용 및 공휴일 구하는 로직을 추가하여 달력을 만들어 보았다.

 

[Java] 공휴일 구하기

한국 공휴일 구하기 public class LunarCalendar { static Set holidaysSet = new HashSet(); public static final int LD_SUNDAY = 7; public static final int LD_SATURDAY = 6; public static final int LD_MONDAY = 1; public static void main(String[] args) {

smrdls-java.tistory.com

 

 

 

public class JavaCalandar {
    public static final String black    = "\u001B[30m" ;
    public static final String red      = "\u001B[31m" ;
    public static final String green    = "\u001B[32m" ;
    public static final String yellow   = "\u001B[33m" ;
    public static final String blue     = "\u001B[34m" ;
    public static final String purple   = "\u001B[35m" ;
    public static final String cyan     = "\u001B[36m" ;
    public static final String white     = "\u001B[37m" ;

    public static final String exit     = "\u001B[0m" ;

    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        int last = cal.getActualMaximum(Calendar.DATE);
        LunarCalendar lc = new LunarCalendar();
        while(true){
            Set set = lc.holidayArray(cal.get(Calendar.YEAR)+"");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            System.out.println("--------"+cal.get(Calendar.YEAR)+"년 "+(cal.get(Calendar.MONTH)+1)+"월---------");
            System.out.println(red+"일\t"+exit+"월\t화\t수\t목\t금\t"+blue+"토"+exit);
            System.out.println("--------------------------");
            cal.set(Calendar.DATE, 1);
            int day = cal.get(Calendar.DAY_OF_WEEK);
            for (int i = 1; i <day; i++) {
                System.out.print("\t");
            }
            for (int i = 1; i <= last; i++) {
                cal.set(Calendar.DATE, i);
                day = cal.get(Calendar.DAY_OF_WEEK);
                if (day == Calendar.SATURDAY) {
                    System.out.println(blue+i+exit);
                }else if(day == Calendar.SUNDAY) {
                    System.out.print(red + i + exit+"\t");
                }else {
                    if(set.contains(sdf.format(cal.getTime()))){
                        System.out.print(red + i + exit+"\t");
                    }else{
                        System.out.print(i + "\t");
                    }
                }
            }
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine();
            if(str.equals("<")) {
                cal.add(Calendar.MONTH, -1);
                last = cal.getActualMaximum(Calendar.DATE);
            }else if(str.equals(">")){
                cal.add(Calendar.MONTH, 1);
                last = cal.getActualMaximum(Calendar.DATE);
            }
        }
    }

}

'JAVA > Java Study' 카테고리의 다른 글

[JAVA] 한글 -> 로마자 변환  (0) 2024.01.19
[Java] Java 한글 라이브러리 hwpxlib  (0) 2023.12.18
[Java] 공휴일 구하기  (0) 2023.11.30
[Java] Oracle 타입별 매핑표  (1) 2023.11.28
[Java] portable 버전 만들어보기  (0) 2023.10.24

+ Recent posts