Q&A

  • DateTimePicker 가 이상해요..
TDateTimePicker 의 Date형이 아래와 같이 이상하게 보여요..



00-02-29 가 -02-29 로 표시되는데 원인이 무엇인가요?



디자인시나 실행시 모두 저런 현상이 발견되네요..

다시 깔아도 그러네요..

Y2K문제인가?

그렇담 다른 사람들도 같은 경험을 했을텐데...



나같은 경우는 없는것 같고..

암튼 답변 바랍니다.



2  COMMENTS
  • Profile
    하얀까마귀 2000.02.29 22:33
    안녕하세요 하얀까마귀입니다.

    음 제가 보기에 문제는 위의 분의 말씀대로 국가별 설정의 날짜설정과 현재 프로그램에서 사용하신 FormatDateTime('DataFormat', Date);의 형식이 서로 달라서 그런것

    같습니다. 그리고 PickDateTime Component의 경우 날짜형식을 제어판을 따라갑니다.



    아마도 그래서 생기는 에러인것 같습니다...



    제어판의 내용을 갱신하셔도 되고.. 설치시에 Install Shield에서 레지스트리를 바꾸셔

    도 될겁니다. 하지만 이건 윈도우 설정자체를 바꾸는방법이라 그리 권할만 하진 않구요

    프로그램 내에서만 이러한 날짜설정을 바꿀수 있습니다.



    아래의 변수들은 전역변수 입니다.



    ShortDateFormat := 'YYYY-MM-DD';

    LongDateFormat := 'yyyy''년'' M''월'' d''일'' dddd';

    DateSeparator := '/'; // 분리문자 등록

    이렇게 하시면 다른 프로그램에 영향을 주지 않고 사용하실수 있을겁니다.

    그리고 FormatDateTime('DataFormat', Date);의 함수를 부를때도

    FormatDateTime('YYYY-MM-DD',Date);보다는

    FormatDateTime(ShortDateFormat, Date);가 훨신 좋은 코딩 습관 입니다...



    아참.. 전 DateTimePicker를 거의 사용하지 않아서 거기서도 잘 되는지는 모르겠어요

    한번 테스트해보시구 메일이라도 보내주시면 고맙겠네요..

    그럼.... 즐거운시간 되시길

    - 하얀까마귀 -

  • Profile
    이재식 2000.02.29 19:46
    초보 wrote:

    > TDateTimePicker 의 Date형이 아래와 같이 이상하게 보여요..

    >

    > 00-02-29 가 -02-29 로 표시되는데 원인이 무엇인가요?

    >

    > 디자인시나 실행시 모두 저런 현상이 발견되네요..

    > 다시 깔아도 그러네요..

    > Y2K문제인가?

    > 그렇담 다른 사람들도 같은 경험을 했을텐데...

    >

    > 나같은 경우는 없는것 같고..

    > 암튼 답변 바랍니다.

    >



    이재식 Wrote :

    안녕하세요?



    델파이에 있는 날짜관련 컴포넌트들은 기본적으로

    제어판에 있는 국가별설정의 날짜 포맷을 따릅니다.



    일전에 프로그램을 배포하는데, 저 역시 DateTimePicker를 폼위에

    올려놓았는데요, 1999.02.11이렇게 점으로 출력이 되더라구요.

    국가별설정에 가서 다시 고치니까 잘 되었습니다.



    그런데, 위의 문제는 다른분들은 이런일이 발생하지 않을거라

    생각됩니다. 년도가 빠진경우가 되었는데요,

    확실히 않지만, 국가별설정의 날짜포맷이 원하는 형식으로 되어 있는지

    한번 확인해 보시는것도 괜찮을 것 같은데...

    델파이를 다시 설치해도 또 그렇다면 델파이 자체에 문제가

    있는것이 아닐까 생각되네요.



    혹, 그런문제가 없는 델파이를 갖고계신분이 있으시면 빌려서 한번 해보시는것도

    괜찮을 것 같습니다.