Q&A

  • 날짜계산하는뎅~
날짜 계산에서요~ 말일을 체크 할려고 하는뎅~ 어케 해야 할지 모르겠어요!
예를들면 2006-01-20 : 말일이 아니네요!
             2006-01-31 : 말일이네요!
이렇게 해당월에 말일을 체크 하고 싶은뎅!
어떤 함수를 쓰고~ 어케 체크 해야 할지!
답변 부탁드립니다.
5  COMMENTS
  • Profile
    마이크로김 2006.01.19 02:48




    const
      DaysInMonth: array[1..12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    begin
            Result := DaysInMonth[Int_Amonth];
            if (Int_Amonth = 2) and fn_IsLeapYear(Int_AYear) then Inc(Result);

    end;


    윤년
    function fn_IsLeapYear(Int_Year: Integer): Boolean;
    begin
            Result := (Int_Year mod 4 = 0) and ((Int_Year mod 100 <> 0) or (Int_Year mod 400 = 0));
    end;

    참고하세요
  • Profile
    착한천사 2006.01.15 21:34
    착한천사 김경록입니다.
    날짜계산을 Delphi에서 하시는지? 아니면, Database에서 계산을 하시는지..
    흠..
    일단, 계산방법은 입력받은 "일자+1" 을 하셔서 일자가 1일지만 check하면 되겠슴다..
    간단하죠.
    Database에서는 DB가 어떤거냐에 따라서 지원하느냐 안하느냐의 차이지만.
    Database에서도 입력받은 일자 + 1 을 하고, 그 일자가 1인가 아닌가만 판단하면,
    이것이 그달의 말일인지 아닌지 판단이 날 듯 하군요..
    실제론, 테스트를 안해봤지만.
    이론상으로 쉽게 생각이 되니.. 금방 될꺼라고 생각되네요..



  • Profile
    nilriri™ 2006.01.11 01:05
    DateUtils.pas 유닛을 참고하세요.

  • Profile
    난난난난 2006.01.10 02:53





    답변이 되실지는 모르겠지만
    델파이자료실에 보시면 검색란에 "날짜"라고 치시면

    5번
  • Profile
    이영주 2006.01.10 02:19
    담달 1일에서 하루를 빼세요.