日期和时间
您编写的大多数软件都需要实现某种形式的日期函数来返回当前日期和时间。
日期是日常的重要组成部分,无需考虑轻松与他们合作。
Pascal还提供了强大的日期算术工具,可以轻松操作日期。但是,这些函数的实际名称和工作方式对于不同的编译器是不同的。
获取当前日期&时间
Pascal的TimeToString函数以冒号(:)分隔的形式为您提供当前时间。以下示例显示如何获取当前时间:
program TimeDemo;
uses sysutils;
begin
writeln ('Current time : ',TimeToStr(Time));
end.
编译并执行上述代码时,会产生以下结果:
Current time : 18:33:08
日期函数返回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:
免费Pascal提供了一个堪称简单的内置结构TTimeStamp,其格式为:
type TTimeStamp = record
Time: Integer;
Date: Integer;
end;
各种日期和时间函数
Pascal提供以下日期和时间函数:
序号 |
功能名称 |
描述 |
1个 |
函数DateTimeToFileDate(DateTime:TDateTime):LongInt; |
将DateTime类型转换为文件日期。 |
2 |
函数DateTimeToStr(DateTime:TDateTime):; |
构造DateTime的串口表示形式 |
3 |
函数DateTimeToStr(DateTime:TDateTime; const FormatSettings:TFormatSettings):; |
构造DateTime的串口表示形式 |
4 |
过程DateTimeToString(out结果:; const FormatStr:; const DateTime:TDateTime); |
构造DateTime的串口表示 |
5 |
过程DateTimeToString(out结果:; const FormatStr:; const DateTime:TDateTime; const FormatSettings:TFormatSettings); |
构造DateTime的串口表示形式 |
6 |
过程DateTimeToSystemTime(DateTime:TDateTime; out SystemTime:TSystemTime); |
将DateTime转换为的系统时间 |
7 |
函数DateTimeToTimeStamp(DateTime:TDateTime):TTimeStamp; |
将DateTime转换为节约 |
8 |
函数DateToStr(Date:TDateTime):; |
构造日期的字符串表示 |
9 |
函数DateToStr(Date:TDateTime; const FormatSettings:TFormatSettings):; |
构造日期的字符串表示 |
10 |
函数日期:TDateTime; |
获取当前日期 |
11 |
函数DayOfWeek(DateTime:TDateTime):Integer; |
获取日期一周 |
12 |
procedure DecodeDate(Date:TDateTime; out Year:Word; out Month:Word; out Day:Word); |
将DateTime解码为年月和日 |
13 |
过程DecodeTime(时间:TDateTime;超时:Word; OUT分钟:Word; OUT秒:Word;出来MilliSecond:Word); |
将DateTime解码为小时,分钟和秒 |
14 |
EncodeDate(年份:Word;月:Word;日:Word):TDateTime; |
将日期,日期和月份编码为DateTime |
15 |
函数EncodeTime(小时:Word;分钟:Word;秒:Word;毫秒:Word):TDateTime; |
将日期,分钟和秒编码到DateTime |
16 |
函数FormatDateTime(const FormatStr:; DateTime:TDateTime):; |
返回DateTime的字符串表示形式 |
17 |
函数FormatDateTime(const FormatStr:; DateTime:TDateTime; const FormatSettings:TFormatSettings):; |
返回DateTime的字符串表示形式 |
18 |
函数IncMonth(const DateTime:TDateTime; NumberOfMonths:Integer = 1):TDateTime; |
添加1个月 |
19 |
函数IsLeapYear(Year:Word):Boolean; |
确定如果年份是闰年 |
20 |
函数MSecsToTimeStamp(MSecs:Comp):TTimeStamp; |
将毫米数转换为节约 |
21 |
现在的功能:TDateTime; |
获取当前日期和时间 |
22 |
函数StrToDateTime(const S :):TDateTime; |
将字符串转换为DateTime |
23 |
函数StrToDateTime(const s:ShortString; const FormatSettings:TFormatSettings):TDateTime; |
将字符串转换为DateTime |
24 |
函数StrToDateTime(const s:AnsiString; const FormatSettings:TFormatSettings):TDateTime; |
将字符串转换为DateTime |
25 |
函数StrToDate(const S:ShortString):TDateTime; |
将字符串转换为日期 |
26 |
函数StrToDate(const S:Ansistring):TDateTime; |
将字符串转换为日期 |
27 |
函数StrToDate(const S:ShortString;分隔符:Char):TDateTime; |
将字符串转换为日期 |
28 |
函数StrToDate(const S:AnsiString;分隔符:Char):TDateTime; |
将字符串转换为日期 |
29 |
函数StrToDate(const S:ShortString; const useformat:;分隔符:Char):TDateTime; |
将字符串转换为日期 |
30 |
函数StrToDate(const S:AnsiString; const useformat:;分隔符:Char):TDateTime; |
将字符串转换为日期 |
31 |
函数StrToDate(const S:PChar; Len:Integer; const useformat:;分隔符:Char =#0):TDateTime; |
将字符串转换为日期 |
32 |
函数StrToTime(const S:Shortstring):TDateTime; |
将字符串转换为时间 |
33 |
函数StrToTime(const S:Ansistring):TDateTime; |
将字符串转换为时间 |
34 |
函数StrToTime(const S:ShortString;分隔符:Char):TDateTime; |
将字符串转换为时间 |
35 |
函数StrToTime(const S:AnsiString;分隔符:Char):TDateTime; |
将字符串转换为时间 |
36 |
函数StrToTime(const S:; FormatSettings:TFormatSettings):TDateTime; |
将字符串转换为时间 |
37 |
函数StrToTime(const S:PChar; Len:Integer;分隔符:Char =#0):TDateTime; |
将字符串转换为时间 |
38 |
函数SystemTimeToDateTime(const SystemTime:TSystemTime):TDateTime; |
将系统时间转换为日期时间 |
39 |
函数TimeStampToDateTime(const TimeStamp:TTimeStamp):TDateTime; |
将初步转换为DateTime |
40 |
函数TimeStampToMSecs(const TimeStamp:TTimeStamp):comp; |
将初步转换为毫米数 |
41 |
函数TimeToStr(Time:TDateTime):; |
返回时间的字符串表示形式 |
42 |
函数TimeToStr(Time:TDateTime; const FormatSettings:TFormatSettings):; |
返回时间的字符串表示形式 |
43 |
函数时间: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