Q&A

  • 주어진 월의 처음일과 마지막일을 리턴...
안녕하세요..

MaskEdit에서 입력받은 날짜를 (예 : 1999-08-12) 가지고

그 달의 처음일과 마지막일을 리턴하는 함수는 없는지요..

위와 같이 입력하면

1999-08-01 , 1999-08-31 과 같이 결과가 떨어지게요...

윤년도 있고 월마다 일수가 다르니까 ...방법을 잘모르겠습니다.

답변을 부탁드립니다..

그럼 이만...

1  COMMENTS
  • Profile
    이상국 1999.08.28 21:41
    이주흥 께서 말씀하시기를...

    > 안녕하세요..

    > MaskEdit에서 입력받은 날짜를 (예 : 1999-08-12) 가지고

    > 그 달의 처음일과 마지막일을 리턴하는 함수는 없는지요..

    > 위와 같이 입력하면

    > 1999-08-01 , 1999-08-31 과 같이 결과가 떨어지게요...

    > 윤년도 있고 월마다 일수가 다르니까 ...방법을 잘모르겠습니다.

    > 답변을 부탁드립니다..

    > 그럼 이만...

    간단명료한 함수는 없습니다.



    일단 DecodeDate와 EncodeDate를 사용하셔야 할 겁니다.

    먼저 에디터 내용을 TDateTime타입으로 빼와야겠죠.

    dDate의 첫날과 마지막날을 얻으려면



    DecodeDate( dDate, wY, wM, wD ); // 먼저 그날의 년월일 빼오시고..

    // wY, wM, wD는 Word타입

    dFirstDay := EncodeDate( wY, wM, 1 );//그 달의 1일



    if wM <> 12 then //12월이 아니면

    dLastDay := EncodeDate( wY, wM+1, 1 ) - 1//그 다음달 1일의 하루전날

    else // 12월이면

    dLastDay := EncodeDate( wY+1, 1, 1 ) - 1;//그 다음해 1월1일의 전날



    대충 이런식으로 하시면 됩니다.