Q&A

  • '03.10.20'의 String값을 날짜형식으로 변경하려합니다?
제목 그대로 String값을 날자형식으로 형변환하려고 합니다

그러니깐

var Msg: String;

MSG:=FormatDateTime('YYYY/MM/DD', strtodatetime('03.10.20'));

ShowMessage(Msg);

하면 '2003/10/20'으로 Display할려고 합니다

도와 주십시요.!!!
3  COMMENTS
  • Profile
    강형철 2003.10.21 00:36
    그냥 하는건 없고 변환작업을 해줘야합니다~

    한번 참고해보세요... 그럼 즐프^^

    implementation

    {$R *.dfm}

    uses DateUtils;

    function ConvertDate( const szDate : String ) : TDateTime;
    var
        nYear, nMonth, nDay : Integer;
    begin
        // YY.MM.DD 형식
        nYear  := StrToInt( Copy( szDate, 1, 2 ) );
        nMonth := StrToInt( Copy( szDate, 4, 2 ) );
        nDay   := StrToInt( Copy( szDate, 7, 2 ) );
        Result := EncodeDateTime( nYear + 2000, nMonth, nDay, 0, 0, 0, 0 );
    end;

    function ConvertDateStr( const szDate : String ) : String;
    var
        nYear, nMonth, nDay : Integer;
    begin
        // YY.MM.DD 형식
        nYear  := StrToInt( Copy( szDate, 1, 2 ) );
        nMonth := StrToInt( Copy( szDate, 4, 2 ) );
        nDay   := StrToInt( Copy( szDate, 7, 2 ) );
        Result := Format( '%4.4d/%2.2d/%2.2d', [ nYear + 2000, nMonth, nDay ] );
    end;


    procedure TForm1.Button1Click(Sender: TObject);
    var
        Msg: String;
        CurDate : TDateTime;
    begin
        CurDate := ConvertDate( '03.10.20' );
        // '/' 국가별 옵션 사용자 지정에서 날짜 구분기호로 사용... 기본(-)
        MSG:= FormatDateTime( 'YYYY/MM/DD', CurDate );
        ShowMessage( Msg ); // 결과 YYYY-MM-DD 형식으로 표시됨

        Msg := ConvertDateStr( '03.10.20' );
        ShowMessage( Msg ); // 결과 YYYY/MM/DD 형식으로 표시됨
    end;

    end.



  • Profile
    김성근 2003.10.21 02:25
  • Profile
    KDDG_RNStone 2003.10.21 00:14
    형식은 이렇게 하십시오.

    'YYYY-MM-DD'

    저도 오래 되어서 잘 기억은 안납니다만은 년월일 사이의 구분자도 Dash(-) 이외에는 오류가 났던 것으로 기억됩니다.

    다른 포맷은 잘 모르겠지만 위 포맷을 지켜주시면 확실히 됩니다. ^^;