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