Java
음력
top2blue
2017. 7. 4. 18:20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | package kr.baeoom.util; // 음력데이터를 읽어서 저장할 클래스 public class Lunar { private String solar; private String lunar; private String gangi; public Lunar() { } public Lunar(String solar, String lunar, String gangi) { this.solar = solar; this.lunar = lunar; this.gangi = gangi; } public String getSolar() { return solar; } public void setSolar(String solar) { this.solar = solar; } public String getLunar() { return lunar; } public void setLunar(String lunar) { this.lunar = lunar; } public String getGangi() { return gangi; } public void setGangi(String gangi) { this.gangi = gangi; } // 메서드를 추가하자 // 양력을 분해하자!!!! 2017-06-01 (목) public String getSolarYear(){ // 년 return solar.split("-")[0]; } public String getSolarMonth(){ // 월 return solar.split("-")[1]; } public String getSolarDate(){ // 일 return solar.split("-")[2].split(" ")[0]; } public int getSolarWeek(){ // 요일 String week = "일월화수목금토"; String t = solar.split("-")[2].split(" ")[1].substring(1, 2); //System.out.println(t); return week.indexOf(t); } // 음력을 분해하자!!!! // 평달 2017-05-07 // 윤달 2017-05-03 (윤) public String getLunarYear(){ // 년 return lunar.split("-")[0]; } public String getLunarMonth(){ // 월 return lunar.split("-")[1]; } public String getLunarDate(){ // 일 return lunar.split("-")[2].split(" ")[0]; } public boolean isLeapMonth() { // 윤달인지 판단 return lunar.indexOf("윤")>0; } // 간지를 분해하자. // 정유(丁酉)년 병오(丙午)월 기미(己未)일 ===> 평달의경우 // 정유(丁酉)년 임오(壬午)일 ===> 윤달의 경우는 월건이 없다!!! 주의 할것!!! public String getGangiYearK(){ // 년한글 return gangi.split(" ")[0].substring(0, 2); } public String getGangiYearH(){ // 년한자 return gangi.split(" ")[0].substring(3, 5); } public String getGangiMonthK(){ // 월한글 if(isLeapMonth()){ // 윤달은 월건이 없다 return ""; }else{ return gangi.split(" ")[1].substring(0, 2); } } public String getGangiMonthH(){ // 월한자 if(isLeapMonth()){ // 윤달은 월건이 없다 return ""; }else{ return gangi.split(" ")[1].substring(3, 5); } } public String getGangiDateK(){ // 일한자 if(isLeapMonth()){ // 윤달은 월건이 없다 return gangi.split(" ")[1].substring(0, 2); }else{ return gangi.split(" ")[2].substring(0, 2); } } public String getGangiDateH(){ // 일한글 if(isLeapMonth()){ // 윤달은 월건이 없다 return gangi.split(" ")[1].substring(3, 5); }else{ return gangi.split(" ")[2].substring(3, 5); } } @Override public String toString() { return "Lunar [solar=" + solar + ", lunar=" + lunar + ", gangi=" + gangi + "]"; } } | cs |