1) 문제점
시스템의 날짜를 받아와서 TdateTimePicker에 입력 시키고자 합니다.
그런데 시스템 날짜 형식이 '한국'으로 되어 있으면 '2008-07-11' 이런식으로 나오는데 '영어(미국)'으로
되어 있으면 '7/11/2008' 식으로 나옵니다.
문제는 'yyyy-mm-dd'인지 'YYYY-M-D'인지 어떤거든지 간에 현재 시스템 시간의 형식을 알아야 TdateTimePicker의 Date에 원하는 날짜를 세팅할수 있습니다.(왜냐하면 TdateTimePicker 날짜 양식이 시스템 날짜 양식을 따라 가더라구요.)
즉, 시스템 양식이 'yyyy/M/D' 로 되어 있으면 TdateTimePicker에 날짜 세팅할때도 'YYYY-mm-dd'같은 다른 양식 말고 꼭 저 시스템 날짜 양식으로 넣어줘야 합니다.(틀린 양식으로 넣으면 에러가 납니다.)
현재 윈도우의 시스템 날짜 형식이 각 나라별로 수십가지가 있는데 어떻하면 모든 시스템 날짜 양식을 알아내서 그 양식에 맞춰서 TdateTimePicker 날짜를 세팅할수 있을까요?
(사용자가 어떤 시스템 날짜 형식을 사용하던지 간에 제가 원하는 날짜로 세팅이 가능했으면 좋겠습니다.)
질문을 찾아 보니깐 아래와 같이 시스템 양식을 바꾸면 된다고 하는데(시스템 양식을 프로그램 내에서 제 맘대로 바꿀수 있다면 가장 좋은 방법일꺼 같습니다.)
SysUtils.ShortDateFormat := 'yyyy-mm-dd';
SysUtils.DateSeparator := '-';
제가 하니깐 안되더라구요. 제가 XP라서 그런건지 뭐가 문제인지 답을 알려 주시면 감사 하겠습니다.
너무 횡설수설 했는데, 이쁘게 봐주시고 도움 좀 주세요.
DateTimePicker의 Format을 바꿰세요
procedure TForm1.Button1Click(Sender: TObject);
begin
DateTimePicker1.Format:= ShortDateFormat ;
end;