ปาสกาล - วันที่และเวลา
โปรแกรมส่วนใหญ่ที่คุณเขียนจำเป็นต้องใช้ฟังก์ชันวันที่บางรูปแบบที่ส่งคืนวันที่และเวลาปัจจุบัน วันที่เป็นส่วนหนึ่งของชีวิตประจำวันมากจนทำงานกับพวกเขาได้ง่ายโดยไม่ต้องคิด Pascal ยังมีเครื่องมือที่มีประสิทธิภาพสำหรับการคำนวณวันที่ซึ่งทำให้การจัดการวันที่เป็นเรื่องง่าย อย่างไรก็ตามชื่อจริงและการทำงานของฟังก์ชันเหล่านี้จะแตกต่างกันสำหรับคอมไพเลอร์ที่แตกต่างกัน
รับวันที่และเวลาปัจจุบัน
ฟังก์ชัน TimeToString ของ Pascal ให้เวลาปัจจุบันในรูปแบบคั่นด้วยเครื่องหมายโคลอน (:) ตัวอย่างต่อไปนี้แสดงวิธีรับเวลาปัจจุบัน -
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 มีฟังก์ชันวันที่และเวลาดังต่อไปนี้ -
ซีเนียร์ | ชื่อฟังก์ชันและคำอธิบาย |
---|---|
1 | function DateTimeToFileDate(DateTime: TDateTime):LongInt; แปลงประเภท DateTime เป็นวันที่ของไฟล์ |
2 | function DateTimeToStr( DateTime: TDateTime):; สร้างการแสดงสตริงของ DateTime |
3 | 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 เป็น timestamp |
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; แปลงเวลาของระบบเป็นวันที่และเวลา |
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