C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[61915] Re:[질문]음력/양력 변환
아제나 [azena] 2260 읽음    2010-07-15 10:59
예전에 저도 이것 때문에 고심을 ㅎㅎㅎ

당시에 찾았을 때는 양력 -> 음력 제대로 되는 소스가 없더군요.

그래서 편법이지만, 양력을 이용해서 음력을 모두 구해서 해결을 하였습니다.

보통 음력과 양력이 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);
: }
: //---------------------------------------------------------------------------

+ -

관련 글 리스트
61888 [질문]음력/양력 변환 이성희 1626 2010/07/14
61915     Re:[질문]음력/양력 변환 아제나 2260 2010/07/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.