Pascal - Tarih ve Saat
Yazdığınız yazılımların çoğu, geçerli tarih ve saati döndüren bazı tarih işlevlerini uygulamaya ihtiyaç duyar. Tarihler, günlük yaşamın o kadar önemli bir parçasıdır ki, onlarla düşünmeden çalışmak kolaylaşır. Pascal ayrıca tarih aritmetiği için tarihlerin işlenmesini kolaylaştıran güçlü araçlar sağlar. Ancak, bu işlevlerin gerçek adı ve çalışmaları farklı derleyiciler için farklıdır.
Güncel Tarih ve Saati Alma
Pascal'ın TimeToString işlevi, iki nokta üst üste (:) ile ayrılmış biçimde geçerli zamanı size verir. Aşağıdaki örnek, geçerli saatin nasıl alınacağını gösterir -
program TimeDemo;
uses sysutils;
begin
writeln ('Current time : ',TimeToStr(Time));
end.
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Current time : 18:33:08
Date fonksiyon şu anki tarihi döndürür TDateTimebiçim. TDateTime, bazı kod çözme ve biçimlendirme gerektiren bir çift değerdir. Aşağıdaki program, geçerli tarihi görüntülemek için programınızda nasıl kullanılacağını gösterir -
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.
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Date: 4.111300000000000E+004
Today is (DD/MM/YY):23/7/2012
Şimdi işlevi geçerli tarih ve saati döndürür -
Program DatenTimeDemo;
uses sysutils;
begin
writeln ('Date and Time at the time of writing : ',DateTimeToStr(Now));
end.
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Date and Time at the time of writing : 23/7/2012 18:51:
Free Pascal adlı basit bir zaman damgası yapısı sağlar TTimeStamp, aşağıdaki biçime sahip olan -
type TTimeStamp = record
Time: Integer;
Date: Integer;
end;
Çeşitli Tarih ve Saat İşlevleri
Free Pascal aşağıdaki tarih ve saat işlevlerini sağlar -
Sr.No. | Fonksiyon Adı & Tanımı |
---|---|
1 | function DateTimeToFileDate(DateTime: TDateTime):LongInt; DateTime türünü dosya tarihine dönüştürür. |
2 | function DateTimeToStr( DateTime: TDateTime):; DateTime'ın dize temsilini oluşturur |
3 | function DateTimeToStr(DateTime: TDateTime; const FormatSettings: TFormatSettings):; DateTime'ın dize temsilini oluşturur |
4 | procedure DateTimeToString(out Result: ;const FormatStr: ;const DateTime: TDateTime); DateTime'ın dize temsilini oluşturur |
5 | procedure DateTimeToString(out Result: ; const FormatStr: ; const DateTime: TDateTime; const FormatSettings: TFormatSettings); DateTime'ın dize temsilini oluşturur |
6 | procedure DateTimeToSystemTime(DateTime: TDateTime; out SystemTime: TSystemTime); DateTime'ı sistem saatine dönüştürür |
7 | function DateTimeToTimeStamp( DateTime: TDateTime):TTimeStamp;DateTime'ı zaman damgasına dönüştürür |
8 | function DateToStr(Date: TDateTime):; Tarihin dize gösterimini oluşturur |
9 | function DateToStr(Date: TDateTime; const FormatSettings: TFormatSettings):; Tarihin dize gösterimini oluşturur |
10 | function Date: TDateTime; Geçerli tarihi alır |
11 | function DayOfWeek(DateTime: TDateTime):Integer; Haftanın gününü alır |
12 | procedure DecodeDate(Date: TDateTime; out Year: Word; out Month: Word; out Day: Word); DateTime kodunu yıl ay ve gün olarak çözer |
13 | procedure DecodeTime(Time: TDateTime; out Hour: Word; out Minute: Word; out Second: Word; out MilliSecond: Word); DateTime kodunu saat, dakika ve saniye olarak çözer |
14 | function EncodeDate(Year: Word; Month: Word; Day: Word):TDateTime; DateTime yıl, gün ve ayı kodlar |
15 | function EncodeTime(Hour: Word; Minute: Word; Second: Word; MilliSecond: Word):TDateTime; DateTime saat, dakika ve saniyeyi kodlar |
16 | function FormatDateTime(const FormatStr: ; DateTime: TDateTime):; DateTime'ın dize gösterimini döndürür |
17 | function FormatDateTime(const FormatStr: ; DateTime: TDateTime; const FormatSettings: TFormatSettings):; DateTime'ın dize gösterimini döndürür |
18 | function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1):TDateTime; Ayda 1 ekler |
19 | function IsLeapYear(Year: Word):Boolean; Yılın artık yıl olup olmadığını belirler |
20 | function MSecsToTimeStamp(MSecs: Comp):TTimeStamp; Milisaniye sayısını zaman damgasına dönüştürür |
21 | function Now: TDateTime; Geçerli tarih ve saati alır |
22 | function StrToDateTime(const S:):TDateTime; Dizeyi DateTime'a dönüştürür |
23 | function StrToDateTime(const s: ShortString; const FormatSettings: TFormatSettings):TDateTime; Dizeyi DateTime'a dönüştürür |
24 | function StrToDateTime(const s: AnsiString; const FormatSettings: TFormatSettings):TDateTime; Dizeyi DateTime'a dönüştürür |
25 | function StrToDate(const S: ShortString):TDateTime; Dizeyi tarihe dönüştürür |
26 | function StrToDate(const S: Ansistring):TDateTime; Dizeyi tarihe dönüştürür |
27 | function StrToDate(const S: ShortString; separator: Char):TDateTime; Dizeyi tarihe dönüştürür |
28 | function StrToDate(const S: AnsiString; separator: Char):TDateTime; Dizeyi tarihe dönüştürür |
29 | function StrToDate(const S: ShortString; const useformat: ; separator: Char):TDateTime; Dizeyi tarihe dönüştürür |
30 | function StrToDate(const S: AnsiString; const useformat: ; separator: Char):TDateTime; Dizeyi tarihe dönüştürür |
31 | function StrToDate(const S: PChar; Len: Integer; const useformat: ; separator: Char = #0):TDateTime; Dizeyi tarihe dönüştürür |
32 | function StrToTime(const S: Shortstring):TDateTime; Dizeyi zamana dönüştürür |
33 | function StrToTime(const S: Ansistring):TDateTime; Dizeyi zamana dönüştürür |
34 | function StrToTime(const S: ShortString; separator: Char):TDateTime; Dizeyi zamana dönüştürür |
35 | function StrToTime(const S: AnsiString; separator: Char):TDateTime; Dizeyi zamana dönüştürür |
36 | function StrToTime(const S: ; FormatSettings: TFormatSettings):TDateTime; Dizeyi zamana dönüştürür |
37 | function StrToTime(const S: PChar; Len: Integer; separator: Char = #0):TDateTime; Dizeyi zamana dönüştürür |
38 | function SystemTimeToDateTime(const SystemTime: TSystemTime):TDateTime; Sistem zamanını tarih saatine dönüştürür |
39 | function TimeStampToDateTime(const TimeStamp: TTimeStamp):TDateTime; Zaman damgasını DateTime'a dönüştürür |
40 | function TimeStampToMSecs(const TimeStamp: TTimeStamp):comp; Zaman Damgasını milisaniye sayısına dönüştürür |
41 | function TimeToStr(Time: TDateTime):; Zamanın dize gösterimini verir |
42 | function TimeToStr(Time: TDateTime; const FormatSettings: TFormatSettings):; Zamanın dize gösterimini verir |
43 | function Time: TDateTime; Geçerli zamanı alın |
Aşağıdaki örnek, yukarıdaki işlevlerden bazılarının kullanımını göstermektedir -
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.
Yukarıdaki kod derlendiğinde ve yürütüldüğünde aşağıdaki sonucu verdi:
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