|
예전에 저도 이것 때문에 고심을 ㅎㅎㅎ
당시에 찾았을 때는 양력 -> 음력 제대로 되는 소스가 없더군요.
그래서 편법이지만, 양력을 이용해서 음력을 모두 구해서 해결을 하였습니다.
보통 음력과 양력이 60일 이상 차이는 나지 않으므로...
해당 음력의 60일 전후의 양력 날짜를 모두 음력으로 변환해보면
찾고자하는 날짜의 음력과 일치하는 양력이 나올 겁니다.
계산하는데 0.001초도 안 걸리니까 그냥 그렇게 처리하시면 됩니다.
수천만개를 동시에 처리해야 한다면 이야기가 틀려지겠지만요 ㅎㅎ
이성희 님이 쓰신 글 :
: 컴포넌트 자료실에있는 음력 양력변환 컴포넌트를 설치해서 해봤는데요
: 양력을 음력을로 변환은 잘되는거 같은데 음력을 양력으로 변환이 잘못된 날짜가 계산되네요
:
: 혹시 이컴포넌트말고 다른 컴포넌트나 다른 방법있으시면 조언 부탁드립니다.
:
: 제가 코딩을 잘못한건지 한번 봐주세요
: //음력변환
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: unsigned short pYear,pMonth,pDay;
: Date1->Date.DecodeDate(&pYear,&pMonth,&pDay);
: DateGu->isLeap=false;
: DateGu->solYear=pYear;
: DateGu->solMonth=pMonth;
: DateGu->solDay=pDay;
: DateGu->isLeap=true;
: DateGu->Solar2Lunar();
: Date2->Date = TDateTime(DateGu->lunYear, DateGu->lunMonth, DateGu->lunDay);
: }
: //---------------------------------------------------------------------------
: //양력변환
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: unsigned short pYear,pMonth,pDay;
: Date2->Date.DecodeDate(&pYear,&pMonth,&pDay);
: DateGu->isLeap=false;
: DateGu->lunYear=pYear;
: DateGu->lunMonth=pMonth;
: DateGu->lunDay=pDay;
: DateGu->isLeap=true;
: DateGu->Lunar2Solar();
: Date1->Date = TDateTime(DateGu->solYear, DateGu->solMonth, DateGu->solDay);
: }
: //---------------------------------------------------------------------------
|