-
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package kr.baeoom.util;public class CalendarUtil {public static boolean isLeapYear(int year){ // 윤년인지를 알려주는 메서드return (year%400==0 || year%4==0 && year%100!=0);}public static int getLastday(int year, int month){ // 지정 년월의 마지막 날짜를 구해주는 메서드int m[] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 월의 마지막 날짜m[1] = isLeapYear(year) ? 29 : 28;return m[month-1];}public static int getSumday(int year,int month,int day){ // 지정 년월일까지 총일수를 구해주는 메서드int sumday = (year-1)*365 + (year-1)/4 - (year-1)/100 + (year-1)/400; // 전년도까지의 일수for(int i=1;i<month;i++) sumday += getLastday(year, i); // 전월까지 일수sumday += day; // 일수return sumday;}public static int getWeekday(int year,int month,int day){ // 지정 년월일의 요일을 구해주는 메서드return getSumday(year, month, day)%7;}public static String getGanjiH(int year){String[] gan = "甲(갑),乙(을),丙(병),丁(정),戊(무),己(기),庚(경),辛(신),壬(임),癸(계)".split(",");String[] ji = "子(자),丑(축),寅(인),卯(묘),辰(진),巳(사),午(오),未(미),辛(신),酉(유),戌(술),亥(해)".split(",");// 요약하면 연도에서 4을 뺀 숫자의 끝자리가 10간,// 연도에서 4을 뺸 후 12로 나눈 숫자의 나머지가 12지입니다.int ganIndex = (year-4)%10;int jiIndex = (year-4)%12;return gan[ganIndex].charAt(0) +""+ ji[jiIndex].charAt(0);}public static String getGanjiK(int year){String[] gan = "甲(갑),乙(을),丙(병),丁(정),戊(무),己(기),庚(경),辛(신),壬(임),癸(계)".split(",");String[] ji = "子(자),丑(축),寅(인),卯(묘),辰(진),巳(사),午(오),未(미),辛(신),酉(유),戌(술),亥(해)".split(",");// 요약하면 연도에서 4을 뺀 숫자의 끝자리가 10간,// 연도에서 4을 뺸 후 12로 나눈 숫자의 나머지가 12지입니다.int ganIndex = (year-4)%10;int jiIndex = (year-4)%12;return gan[ganIndex].charAt(2) +""+ ji[jiIndex].charAt(2);}public static String getDdi(int year){String[] gan = "甲(갑),乙(을),丙(병),丁(정),戊(무),己(기),庚(경),辛(신),壬(임),癸(계)".split(",");String[] ji = "子(자),丑(축),寅(인),卯(묘),辰(진),巳(사),午(오),未(미),辛(신),酉(유),戌(술),亥(해)".split(",");String[] ddi = "쥐,소,호랑이,토끼,용,뱀,말,양,원숭이,닭,개,돼지".split(",");String[] color = "청,청,적,적,황,황,백,백,흑,흑".split(",");// 요약하면 연도에서 4을 뺀 숫자의 끝자리가 10간,// 연도에서 4을 뺸 후 12로 나눈 숫자의 나머지가 12지입니다.int ganIndex = (year-4)%10;int jiIndex = (year-4)%12;return gan[ganIndex].charAt(2) +""+ ji[jiIndex].charAt(2)+"," + color[ganIndex] + "" + ddi[jiIndex] ;}public static void main(String[] args) {for(int i=2000;i<=2050;i++){System.out.println(i + " : " + getDdi(i));}}}
cs 'Java' 카테고리의 다른 글
음력읽기 (0) 2017.07.04 음력 (0) 2017.07.04 심이지신 계산하기2 (0) 2017.04.28 십이지신 계산하기1 (0) 2017.04.28 JDK설치하기 (0) 2016.09.09 댓글