안드로이드 개발 질문/답변
(글 수 45,052)
달력을 만들고있습니다...
음력을 적용하기위해서... http://site.icu-project.org/download에서..icu4j-4.8.1.jar라이브러리를 다운받아서 적용하고있는데...
윤달이 틀리게 나와요.... 올해는 윤달이 3월이 있어서 음력 3월이 두번인데... 라이브러리를 적용시켰더니...윤4월이 나오네요....
어디가 잘못된걸까요....????
public String getLunarDate(int year, int month, int day){
Calendar cal = Calendar.getInstance();
cal.set(year, month-1, day);
ChineseCalendar chineseCalendar = new ChineseCalendar();
chineseCalendar.setTimeInMillis(cal.getTimeInMillis());
int y = chineseCalendar.get(ChineseCalendar.EXTENDED_YEAR) - 2637;
int m = chineseCalendar.get(ChineseCalendar.MONTH) + 1;
int d = chineseCalendar.get(ChineseCalendar.DAY_OF_MONTH);
StringBuilder sb = new StringBuilder();
sb.append(Integer.toString(y));
if(m < 10) sb.append("0");
sb.append(Integer.toString(m));
if(d < 10) sb.append("0");
sb.append(String.valueOf(d));
sb.append(Integer.toString(chineseCalendar.get(ChineseCalendar.IS_LEAP_MONTH)));
return sb.toString();
}




icu4j-4.8.1.jar 은 중국 음력 기준으로 만들어진 거라 우리나라 음력과 가끔 틀린 연도가 있습니다. 틀린 연도가 많이 있는건 아니기 때문에 직접 수정해 주시면 됩니다.