1. c_result_date := StrToDateTime(Result_date);
2. cut_napip_date := StrToDateTime(napip_date);
3. temp := c_result_date - cut_napip_date;
1,2의 년월일을 구해서 데이트타입으로 변환하여 경과일을 구하려 합니다. 근데
c_result_date, cut_napip_date의 변수형 선언은 무엇으로 해야하나요 ?????
그리고 위의 형식이 맞나요...
20001230 - 20000701 을 빼면 약 180여일이 나오겠죠... 이 180여일의 값을 구하려
합니다.
고 수님들 알려주세요....
> 1. c_result_date := StrToDateTime(Result_date);
> 2. cut_napip_date := StrToDateTime(napip_date);
> 3. temp := c_result_date - cut_napip_date;
>
> 1,2의 년월일을 구해서 데이트타입으로 변환하여 경과일을 구하려 합니다. 근데
> c_result_date, cut_napip_date의 변수형 선언은 무엇으로 해야하나요 ?????
> 그리고 위의 형식이 맞나요...
> 20001230 - 20000701 을 빼면 약 180여일이 나오겠죠... 이 180여일의 값을 구하려
> 합니다.
> 고 수님들 알려주세요....
이건 제 답변이 아니고 김영대님의 팁을 올려드립니다.
아래대로 해도 원하는 결과를 얻을 수 있겠네요...
// StrToDate()는 문자열을 날짜형으로 바꾸는 함수이나 형태가
// "m/d/y", "d/m/y", "y/m/d" 등의 형태이어야만 합니다
// 하지만 VarToDateTime()를 사용하면 다양한 형태의 문자열을 다룰 수 있습니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
D1, D2, D3 : TDateTime;
begin
D1 := VarToDateTime('December 6, 1969');
D2 := VarToDateTime('6-Apr-1998');
D3 := VarToDateTime('1998-Apr-6');
ShowMessage(DateToStr(D1)+' '+DateToStr(D2)+' '+
DateToStr(D3));
end;