Q&A

  • 날짜관련...질문입니다
안녕하세요 델초보입니다.

고수님들께 한수 배우고자 올리니다.

쿼리 콤포넌트를 사용하여 디비에서 20010101' 이라는 데이터를 가져왔습니다.

'20010101' 데이타는 날짜텍스트인데 이 데이터에서 +1개월을 한 월을 변수로 받을려구 합니다

20010101  -- > 20010201 이런식으로 하여면 어떻게하면 되나요?

게시판을 뒤져봐도 없는것 같더라구요

고수님들의 한수 부탁 드립니다
3  COMMENTS
  • Profile
    이성훈 2003.01.29 17:58
    incMonth 함수를 써보세요..간단하게 되네요..
    showmessage(FormatDateTime('YYYYMMDD', IncMonth(now, 1)));

    즐프하세요

  • Profile
    구창민 2003.01.29 04:53
    안녕하세요~ 구창민입니다.

    입력받은 날짜를 TDateTime 형으로 바꾸세요.

    그 날짜를 Decode 하셔서 달만 증가 시키면 되겠지요.

    대충 아래처럼..

    var
      tmpDate : TDateTime;
      Year, Month, Day: Word;
    begin
      tmpDate := StrToDateTime('2001-01-01');
      DecodeDate(tmpDate, Year, Month, Day);
      Inc(Month); //한달증가 ^_^
      tmpDate := EnCodeDate(Year, Month, Day);
      ShowMessage(DateTimeToStr(tmpDate));
    end;

    그럼~ 항상 즐거운 프로그래밍 하시길~~


  • Profile
    미소나눔 2003.01.29 04:48
    날짜문자열 가공합니다.

    procedure TForm1.Button1Click(Sender: TObject);
    var
        StrDate : String;
        MyDate : TDateTime;
        Year, Month, Day : Word;
    begin
        StrDate := '20010101';
        Insert('-', StrDate, 5);
        Insert('-', StrDate, 8);
        MyDate := StrToDate(StrDate);
        DecodeDate(MyDate, Year, Month, Day);
        edit1.Text := DateToStr(EncodeDate(Year, Month+1, Day));
        edit2.Text := StringReplace(edit1.Text,'-','',[rfReplaceAll]);
    end;

    즐푸~~