2009. 12. 1. 16:39

TDateTime형 - 2

관련 함수와 프로시져-01

TDateTime형 함수와 프로시져는 모두 SysUtils 유닛안에 있다. 가장 간단한 것들을 살펴보면 다음과 같다.

◇ Date : 현재 시스템 일자가 복귀값으로 온다.
function Date: TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := '현재일자: ' + DateToStr(Date);
end;

◇ Now : 현재 일자와 시간이 복귀값으로 온다.
function Now: TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := '현재일자시간: ' + DateTimeToStr(Now);
end;

◇ Time: 현재 시간이 복귀값으로 온다.
function Time: TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := '현재시간: ' + TimeToStr(Time);
end;

TDateTime형은 그 자체값으로는 날짜와 시간을 알기가 까다롭다. 예를들어 543.03445523이라는 숫자를 가지고 어떻게 날짜와 시간을 알 수 있겠는가? 복잡한 계산이 필요할 것이다. 하지만 TDateTime형을 String형으로 변환해주는 함수들을 이용하면 간편하다.

◇ DateTimeToStr : TDateTime형을 String형으로 변환해 준다.
function DateTimeToStr(DateTime: TDateTime): string;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := DateTimeToStr(Now);
end;

◇ DateTimeToString : NewString에 Format에 따라 String형의 값을 채운다.
procedure DateTimeToString(var NewString: string;
const Format: string; DateTime: TDateTime);

◇ DateToStr : 일자를 String형의 값으로 되돌린다.
function DateToStr(Date: TDateTime): string;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := DateToStr(Date);
end;

◇ FormatDateTime : Fromat에 따라 변환 후 String형의 값으로 되돌린다.
function FormatDateTime(const Format: string;
DateTime: TDateTime): string;
예) S := FormatDateTime('"만날 시간:" dddd, mmmm d, yyyy, ' +
'"at" hh:mm AM/PM', StrToDateTime('2/15/95 10:30 오후'));

◇ TimeToStr : 시간을 String형의 값으로 되돌린다.
function TimeToStr(Time: TDateTime): string;

위에서 DateTimeToString, FormatDateTime에 들어가는 Format은 다음과 같다. 다
소 복잡하지만 한번만 제대로 읽어보면 이해가 될 것이다.

d 일자를 0을 앞에 붙이지 않은 형태로 표시 (1-31).
dd 일자를 0이 붙은 형태로 표시 (01-31).
ddd 전역변수 ShortDayNames에 따라 요일을 표시
ShortDayNames는 String[1..7] of String,
한글윈도우즈에는'일'-'토'가 디폴트 값임
dddd 전역변수 LongDayNames에 따라 요일을 표시
LongDayNames는 array [1..7] of String,
한글윈도우즈에는 '일요일'-'토요일'이 디폴트 값임.
ddddd 전역변수 ShortDateFormat에 따라 표시
ShortDateFormat은 String,
한글윈도우즈에는 'yy-MM-dd'가 디폴트 값임.
dddddd 전역변수 LongDateFormat에 따라 표시
LongDateFormat은 String,
한글윈도우즈에는 yyyy'년' M'월' d'일' dddd가 디폴트
m 월을 0이 붙지 않은 형태로 표시(1-12).
h, hh 뒤에 오는 경우에는 분을 의미
mm 월을 0이 붙은 형태로 표시(01-12).
h, hh 뒤에 오는 경우에는 분을 의미
mmm 월을 전역변수 ShortMonthNames의 값에 따라 표시
ShortMonthNames는 array[1..12] of String
한글 윈도우즈에는 '1월' - '12월'이 디폴트로 사용됨.
mmmm 월을 전역변수 LongMonthNames의 값에 따라 표시
한글 윈도우즈에는 '1월' - '12월'이 디폴트로 사용됨.
yy 연도를 두자리수로 표시 (00-99).
yyyy 연도를 네자리수로 표시 (0000-9999).
h 0이 붙지 않은 형태로 시간을 표시 (0-23).
hh 0이 붙은 형태로 시간을 표시 (00-23).
n 0이 붙지 않은 형태로 분을 표시 (0-59).
nn 0이 붙은 형태로 분을 표시 (00-59).
s 0이 붙지 않은 형태로 초를 표시 (0-59).
ss 0이 붙은 형태로 초를 표시 (00-59).
t 전역변수 ShortTimeFormat에 따라 시간 표시
ShortTimeFormat은 String.
한글윈도우즈에는 'AMPM h:mm'이 디폴트임
이 경우, '오후 3:04'로 분까지 표시됨
tt 전역변수 LongTimeFormat에 따라 시간 표시
LongTimeFormat은 String.
한글 윈도우즈에는 'AMPM h:mm:ss'가 디폴트임
이 경우, '오후 3:03:04'로 초까지 표시됨
am/pm 오전/오후를 'am', 'pm'으로 표시.
대소문자는 정해준 대로 반영. (AM/am, PM/pm)
a/p 오전/오후를 'a', 'p'로 표시. 대소문자는 정해준 대로 반영.
ampm 전역변수 TimeAMString,
TimePMString에 따라 오전/오후를 표시.
TimeAMString, TimePMString은 String,
한글 윈도우즈에는 '오전', '오후'가 디폴트임
/ 전역변수 DateSeparator에 따라 일자구분문자를 표시
한글윈도우즈에는 '-'가 디폴트
: 전역변수 TimeSeparator에 따라 시간구분문자를 표시
한글윈도우즈에는 ':'가 디폴트
'xx'/"xx" (')나 (")로 묶인 문자열은 변환없이 그대로 표시

String을 TDateTime으로 변환하는 함수는 다음과 같다.

◇ StrToDate : String형의 일자를 TDateTime형으로 변환한다.
function StrToDate(const S: string): TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
var
ADate: TDateTime;
begin
ADate := StrToDate(Edit1.Text);
Label1.Caption := DateToStr(ADate);
end;

◇ StrToDateTime : String형의 일자와시간을 TDateTIme형으로 변환한다.
function StrToDateTime(const S: string): TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
var
ADateAndTime: TDateTime;
begin
ADateAndTime := StrToDateTime(Edit1.Text);
Label1.Caption := DateTimeToStr(ADateAndTime);
end;

◇ StrToTime : String형의 시간을 TDateTime형으로 변환한다.
function StrToTime(const S: string): TDateTime;
procedure TForm1.Button1Click(Sender: TObject);
var
ATime: TDateTime;
begin
ATime := StrToTime(Edit1.Text);
Label1.Caption := TimeToStr(ATime);
end;

'Delphi' 카테고리의 다른 글

단축키 모음  (0) 2010.03.22
TDateTime형 - 3  (0) 2009.12.01
TDateTime형 - 1  (0) 2009.12.01
델파이의 데이터형  (0) 2009.11.24
델파이의 개요  (0) 2009.11.24