파스칼-날짜 및 시간
작성하는 대부분의 소프트웨어는 현재 날짜 및 시간을 반환하는 일부 형식의 날짜 함수를 구현해야합니다. 데이트는 일상 생활에서 너무나 많은 부분을 차지하여 생각없이 쉽게 작업 할 수 있습니다. Pascal은 또한 날짜를 쉽게 조작 할 수있는 강력한 날짜 산술 도구를 제공합니다. 그러나 이러한 함수의 실제 이름과 작동 방식은 컴파일러마다 다릅니다.
현재 날짜 및 시간 얻기
Pascal의 TimeToString 함수는 콜론 (:)으로 구분 된 형식으로 현재 시간을 제공합니다. 다음 예제는 현재 시간을 얻는 방법을 보여줍니다-
program TimeDemo;
uses sysutils;
begin
writeln ('Current time : ',TimeToStr(Time));
end.
위의 코드가 컴파일되고 실행되면 다음 결과가 생성됩니다.
Current time : 18:33:08
그만큼 Date 함수는 현재 날짜를 반환합니다. TDateTime체재. TDateTime은 이중 값이며 일부 디코딩 및 형식 지정이 필요합니다. 다음 프로그램은 현재 날짜를 표시하기 위해 프로그램에서 사용하는 방법을 보여줍니다-
Program DateDemo;
uses sysutils;
var
YY,MM,DD : Word;
begin
writeln ('Date : ',Date);
DeCodeDate (Date,YY,MM,DD);
writeln (format ('Today is (DD/MM/YY): %d/%d/%d ',[dd,mm,yy]));
end.
위의 코드가 컴파일되고 실행되면 다음 결과가 생성됩니다.
Date: 4.111300000000000E+004
Today is (DD/MM/YY):23/7/2012
Now 함수는 현재 날짜와 시간을 반환합니다.
Program DatenTimeDemo;
uses sysutils;
begin
writeln ('Date and Time at the time of writing : ',DateTimeToStr(Now));
end.
위의 코드가 컴파일되고 실행되면 다음 결과가 생성됩니다.
Date and Time at the time of writing : 23/7/2012 18:51:
Free Pascal은 다음과 같은 간단한 타임 스탬프 구조를 제공합니다. TTimeStamp, 형식은 다음과 같습니다.
type TTimeStamp = record
Time: Integer;
Date: Integer;
end;
다양한 날짜 및 시간 기능
Free Pascal은 다음과 같은 날짜 및 시간 기능을 제공합니다.
Sr. 아니. | 기능 이름 및 설명 |
---|---|
1 | function DateTimeToFileDate(DateTime: TDateTime):LongInt; DateTime 유형을 파일 날짜로 변환합니다. |
2 | function DateTimeToStr( DateTime: TDateTime):; DateTime의 문자열 표현을 구성합니다. |
삼 | function DateTimeToStr(DateTime: TDateTime; const FormatSettings: TFormatSettings):; DateTime의 문자열 표현을 구성합니다. |
4 | procedure DateTimeToString(out Result: ;const FormatStr: ;const DateTime: TDateTime); DateTime의 문자열 표현을 구성합니다. |
5 | procedure DateTimeToString(out Result: ; const FormatStr: ; const DateTime: TDateTime; const FormatSettings: TFormatSettings); DateTime의 문자열 표현을 구성합니다. |
6 | procedure DateTimeToSystemTime(DateTime: TDateTime; out SystemTime: TSystemTime); DateTime을 시스템 시간으로 변환합니다. |
7 | function DateTimeToTimeStamp( DateTime: TDateTime):TTimeStamp;DateTime을 타임 스탬프로 변환합니다. |
8 | function DateToStr(Date: TDateTime):; 날짜의 문자열 표현을 구성합니다. |
9 | function DateToStr(Date: TDateTime; const FormatSettings: TFormatSettings):; 날짜의 문자열 표현을 구성합니다. |
10 | function Date: TDateTime; 현재 날짜를 가져옵니다. |
11 | function DayOfWeek(DateTime: TDateTime):Integer; 요일을 가져옵니다. |
12 | procedure DecodeDate(Date: TDateTime; out Year: Word; out Month: Word; out Day: Word); DateTime을 년 월 및 일로 디코딩 |
13 | procedure DecodeTime(Time: TDateTime; out Hour: Word; out Minute: Word; out Second: Word; out MilliSecond: Word); DateTime을 시간, 분 및 초로 디코딩합니다. |
14 | function EncodeDate(Year: Word; Month: Word; Day: Word):TDateTime; 년, 일, 월을 DateTime으로 인코딩 |
15 | function EncodeTime(Hour: Word; Minute: Word; Second: Word; MilliSecond: Word):TDateTime; 시간, 분, 초를 DateTime으로 인코딩 |
16 | function FormatDateTime(const FormatStr: ; DateTime: TDateTime):; DateTime의 문자열 표현을 반환합니다. |
17 | function FormatDateTime(const FormatStr: ; DateTime: TDateTime; const FormatSettings: TFormatSettings):; DateTime의 문자열 표현을 반환합니다. |
18 | function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1):TDateTime; 월에 1 추가 |
19 | function IsLeapYear(Year: Word):Boolean; 연도가 윤년인지 확인 |
20 | function MSecsToTimeStamp(MSecs: Comp):TTimeStamp; 밀리 초 수를 타임 스탬프로 변환합니다. |
21 | function Now: TDateTime; 현재 날짜와 시간을 가져옵니다. |
22 | function StrToDateTime(const S:):TDateTime; 문자열을 DateTime으로 변환 |
23 | function StrToDateTime(const s: ShortString; const FormatSettings: TFormatSettings):TDateTime; 문자열을 DateTime으로 변환 |
24 | function StrToDateTime(const s: AnsiString; const FormatSettings: TFormatSettings):TDateTime; 문자열을 DateTime으로 변환 |
25 | function StrToDate(const S: ShortString):TDateTime; 문자열을 날짜로 변환 |
26 | function StrToDate(const S: Ansistring):TDateTime; 문자열을 날짜로 변환 |
27 | function StrToDate(const S: ShortString; separator: Char):TDateTime; 문자열을 날짜로 변환 |
28 | function StrToDate(const S: AnsiString; separator: Char):TDateTime; 문자열을 날짜로 변환 |
29 | function StrToDate(const S: ShortString; const useformat: ; separator: Char):TDateTime; 문자열을 날짜로 변환 |
30 | function StrToDate(const S: AnsiString; const useformat: ; separator: Char):TDateTime; 문자열을 날짜로 변환 |
31 | function StrToDate(const S: PChar; Len: Integer; const useformat: ; separator: Char = #0):TDateTime; 문자열을 날짜로 변환 |
32 | function StrToTime(const S: Shortstring):TDateTime; 문자열을 시간으로 변환 |
33 | function StrToTime(const S: Ansistring):TDateTime; 문자열을 시간으로 변환 |
34 | function StrToTime(const S: ShortString; separator: Char):TDateTime; 문자열을 시간으로 변환 |
35 | function StrToTime(const S: AnsiString; separator: Char):TDateTime; 문자열을 시간으로 변환 |
36 | function StrToTime(const S: ; FormatSettings: TFormatSettings):TDateTime; 문자열을 시간으로 변환 |
37 | function StrToTime(const S: PChar; Len: Integer; separator: Char = #0):TDateTime; 문자열을 시간으로 변환 |
38 | function SystemTimeToDateTime(const SystemTime: TSystemTime):TDateTime; 시스템 시간을 datetime으로 변환 |
39 | function TimeStampToDateTime(const TimeStamp: TTimeStamp):TDateTime; 타임 스탬프를 DateTime으로 변환 |
40 | function TimeStampToMSecs(const TimeStamp: TTimeStamp):comp; 타임 스탬프를 밀리 초 수로 변환합니다. |
41 | function TimeToStr(Time: TDateTime):; 시간의 문자열 표현을 반환합니다. |
42 | function TimeToStr(Time: TDateTime; const FormatSettings: TFormatSettings):; 시간의 문자열 표현을 반환합니다. |
43 | function Time: TDateTime; 현재 시간 가져 오기 |
다음 예제는 위의 일부 기능의 사용을 보여줍니다-
Program DatenTimeDemo;
uses sysutils;
var
year, month, day, hr, min, sec, ms: Word;
begin
writeln ('Date and Time at the time of writing : ',DateTimeToStr(Now));
writeln('Today is ',LongDayNames[DayOfWeek(Date)]);
writeln;
writeln('Details of Date: ');
DecodeDate(Date,year,month,day);
writeln (Format ('Day: %d',[day]));
writeln (Format ('Month: %d',[month]));
writeln (Format ('Year: %d',[year]));
writeln;
writeln('Details of Time: ');
DecodeTime(Time,hr, min, sec, ms);
writeln (format('Hour: %d:',[hr]));
writeln (format('Minutes: %d:',[min]));
writeln (format('Seconds: %d:',[sec]));
writeln (format('Milliseconds: %d:',[hr]));
end.
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 나왔습니다.
Date and Time at the time of writing : 7/24/2012 8:26:
Today is Tuesday
Details of Date:
Day:24
Month:7
Year: 2012
Details of Time:
Hour: 8
Minutes: 26
Seconds: 21
Milliseconds: 8