Delphide Tarih ve Zaman Fonksiyonları

  
 Tarih ve Zaman Fonksiyonları

 
 

Delphi’ de tarih ve zaman işlemlerinizi kolaylık ile yapabilmeniz için bir çok fonksiyon tanımlanmıştır. Aşağıda bu fonksiyonlara ait örnekler detaylıca incelemeye alınmıştır.

 

 

 

CompareDate(Tarih1 , Tarih2);

 

Parametre olarak girilen iki tarihin eşit olup olmadığını kontrol edebilen bir fonksiyondur. Girilen tarihlerin eşit olması bu fonksiyondan geriye 0 değerinin dönmesine sebep olucaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih1, Tarih2 : TDate; //Tarih içerikli değişken tanımlanıyor.

begin

    Tarih1 := StrToDate(Edit1.Text); // Tarihsel değişkene aktarılıyor

    Tarih2 := StrToDate(Edit2.Text); // Tarihsel değişkene aktarılıyor

    If CompareDate(Tarih1, Tarih2)=0 Then // İki tarih eşitse 0 döner

    Caption := ‘Girilen iki tarih eşit’

    else

    Caption:= ‘Tarihler eşit değil’;

end;

 

CompareDate(Tarih1 , Tarih2);

 

Parametre olarak girilen iki değerin tarih ve zamanla beraber  eşit olup olmadığını kontrol etmek için kullanılan bir fonksiyondur. Eşitlik durumunda geriye yine sıfır dönecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih1, Tarih2 : TDateTime;

begin

    Tarih1 := StrToDateTime(Edit1.Text);

    Tarih2 := StrToDateTime(Edit2.Text);

    If CompareDate(Tarih1, Tarih2)=0 Then

    Caption := ‘Girilen iki tarih ve saat eşit’

    else

    Caption:= ‘Tarihler eşit değil’;

end;

 

 

 

CompareTime(Zaman1 , Zaman2);

 

Parametre olarak girilen iki değişkenin aynı zamana ait olup olmadıklarını hesaplayabilen bir fonksiyondur. Eşitlik durumunda yine 0 döndürecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih1, Tarih2 : TTime;

begin

    Tarih1 := StrToTime(Edit1.Text);

    Tarih2 := StrToTime(Edit2.Text);

    If CompareDate(Zaman1 , Zaman2)=0 Then

    Caption := ‘Girilen iki zaman eşit’

    else

    Caption:= ‘Zamanlar eşit değil’;

end;

 

 

CurrentYear:

 

Parametre kullanmayan bu fonksiyon ile aktif tarihin yılını kolayca öğrenebilirsiniz. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için IntToStr tip dönüşüm fonksiyonunu kullanarak yazdırabilirsiniz.

 

Procedure TForm1.Button1Click(Sender; Object);

begin

    Caption:= IntToStr(CurrentYear);

end;

 

 

Date:

 

Parametre içermeyen bu fonksiyon ile aktif tarihi yazdırabilirsiniz. Döndürdüğü değer tarih içerikli olacağı için yazdırmak için DateToStr tip dönüşümünü kullanmanızı gerektirecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

begin

    Caption:= DateToStr(Date);

end;

 

Aktif tarihe gün ekleme işlemlerini yine bu fonksiyon ile yapmanız mümkün olabilmektedir. Aşağıda bu husus örneklendirilmiştir. Örneğin yapılış tarihinin 03/11/2005 olduğunu da belirtelim.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : Tdate;

begin

        Tarih := Date+10; // Aktif tarihe 10 gün ekle

        Caption:= DateToStr(Tarih); // Pc tarihinin 10 gün ilerisi

end;

 

Aynı şekilde önceki günlere dönmek için de ( – ) kullanabilirsiniz.

 

 

DateOf(TarihZaman);

 

Parametre olarak girilen tarih zaman değişkeninin, zaman kısmını atarak sadece tarih değerinin elde edilmesini sağlar.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    TarihZaman : TDateTime;

begin

    TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken

    Edit2.Text := DateTimeToStr(DateOf(TarihZaman));

end;

 

Fonksiyonun daha iyi anlaşılması açısından aşağıdaki örneği inceleyip aradaki farka dikkat ediniz.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    TarihZaman : TDateTime;

begin

    TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken

    Edit1.Text := DateTimeToStr(TarihZaman);  // Mesela 11.07.2005 14:00:00 yazar

    Edit2.Text := DateTimeToStr(DateOf(TarihZaman)); // Mesela 11.07.2005 yazar

end;

 

 

 

DateTimeToStr(Tarih1 , Tarih2);

 

Parametre olarak girilen tarih-zaman içerikli değişkenin değerini stringe çevirmek için kullanılır. Bilhassa kontroller üzerinde tarih içeriklerinin yazdırılmasında kullanılır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Sonuc : AnsiString;

begin

    Tarih  := Now;

    Sonuc := DateTimeToStr(Tarih); // Aktif tarih ve saati yaz

    Caption:= Sonuc;

end;

 

 

DateToStr(Tarih);

 

Parametreyle girilen tarih değişkenini string tipe dönüştürmek için kullanılan bir fonksiyondur. Eğer DateTime tipli bir değişken değeri aktarılırsa hata vermemekle beraber, sadece tarih kısmıyla ilgili tip dönüşümünü gerçekleştirecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Sonuc : AnsiString;

begin

    Tarih  := Now;

    Sonuc := DateToStr(Tarih); // Aktif tarih yaz

    Caption:= Sonuc;

end;

 

 

DayOfWeek(Tarih);

 

Parametreyle girilen tarih değişkenin değerinin haftanın hangi gününe ait olduğunu hesaplayabilen bir fonksiyondur. Geriye döndürdüğü değer 1 ile 7 arasında ki sayısal ifadelerdir. 1 olması Pazar 7olması cumartesi gününe karşılık gelmektedir. Basit bir dallandırma yaparak sonuca ulaşabilirsiniz.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDate;

    Deger : Integer;

begin

    Tarih  := Date; // Bugünkü tarih

    Deger := DayOfWeek(Tarih); // Aktar

    If Deger=1 Then Caption := ‘Pazartesi’ else

    If Deger=2 Then Caption := ‘Salı’ else

    If Deger=3 Then Caption := ‘Çarşamba’ else

    If Deger=4 Then Caption := ‘Perşembe’ else

    If Deger=5 Then Caption := ‘Cuma’ else

    If Deger=6 Then Caption := ‘Cumartesi’ else

    If Deger=7 Then Caption := ‘Pazar’;

end;

 

 

DayOf(Tarih_Zaman);

 

Parametre ile girilen Tarih_Zaman değişkeninde ayın kaçıncı günü olduğunu hesaplayan bir fonksiyondur. Tam sayı tipinde bir değer döndürdüğü için yazdırmak isterseniz IntToStr fonksiyonunu kullanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Deger : Integer;

begin

    Tarih  := Date; // Bugünkü tarih

    Deger := DayOf(Tarih); // Kaçıncı gün

    Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar

end;

 

 

 

DayOfTheMonth(Tarih_Zaman);

 

Parametre ile girilen Tarih_Zaman değişkeninde ayın kaçıncı günü olduğunu hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Deger : Integer;

begin

    Tarih  := Date; // Bugünkü tarih

    Deger := DayOfTheMonth(Tarih); // Kaçıncı gün

    Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar

end;

 

Fonksiyondan geriye dönen değer tam sayı tipli bir değişkene aktarılabilir. Dolayısı ile form üzerindeki her hangi bir kontrolde yazdırabilmesi için IntToStr fonksiyonu ile tip dönüştürme işlemi uygulamanız gerekmektedir. Yukarıdaki örneği dikkatlice inceleyiniz.

 

 

 

DayOfTheWeek(Tarih_Zaman);

 

Parametre ile girilen Tarih_Zaman değişkenine ait değerin haftanın kaçıncı gününe karşılık geldiğini hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Deger : Integer;

begin

    Tarih  := Date; // Bugünkü tarih

    Deger := DayOfTheWeek(Tarih); // Kaçıncı gün

    Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar

end;

 

 

 

 

DayOfTheYear(Tarih_Zaman);

 

Parametre ile girilen Tarih_Zaman değişkenine ait değerin yılın kaçıncı gününe karşılık geldiğini hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Deger : Integer;

begin

    Tarih  := Date; // Bugünkü tarih

    Deger := DayOfTheYear(Tarih); // Kaçıncı gün

    Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar

end;

 

 

 

DaysBetween(Tarih1 , Tarih2);

 

Parametre ile girilen iki tarih değişkeni arasındaki gün farkını hesaplayan fonksiyondur. Fonksiyonun geriye döndürdüğü değer bir tam sayı olduğu için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız. Aşağıda bu fonksiyon örneklendirilmiştir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih1, Tarih2  : TDateTime;

    Sayi : Integer;

begin

    Tarih1  := StrToDateTime(Edit1.Text); // İlk tarih değer

    Tarih2  := StrToDateTime(Edit2.Text); // İkinci tarih değer

    Sayi := DaysBetween(Tarih1, Tarih2); // Aralarında kaç gün var

    Caption := IntToStr(Sayi);

end;

 

Bu fonksiyonda değişkenlerin yerleri önem arz etmektedir. Hangisinin büyük olduğuda önemli değildir, sonuçta pozitif değeri döndürmektedir.

 

 

 

 

 

DaysIncMonth(Tarih_Zaman);

 

Parametre ile girilen Tarih_Zaman değişken değerinin ait olduğu ayın kaç gün çektiğini hesaplayabilen bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih  : TDateTime;

    Sayi : Integer;

begin

    Tarih := Date; // Aktif tarih

    Sayi := DaysInMonth(Tarih); // Bu ay kaç gün çekiyor

    Caption := IntToStr(Sayi); // 7. Ay olduğunu farzedelim, 31 gün vardır.

end;

 

Fonksiyondan geriye dönen değer, tam sayı tipli bir değişkene aktarılabilir. Şayet bu değeri yazdırmak isterseniz IntToStr fonksiyonunu kullanmalısınız.

 

 

 

DaysIncAMonth(Tam_Sayi , Tam_Sayi2);

 

Birinci parametre ile girilen yıla ait, ikinci parametreyle girilen ayın kaç gün çektiğini hesaplayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer bir tam sayı olduğu için IntToStr fonksiyonu kullanılarak yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Sayi : Integer;

begin

    Sayi := DaysInAMonth(2000,3); // 2000 yılının 3. ayı kaç gün

    Caption := IntToStr(Sayi); //  31 yazar

end;

 

 

 

DaysIncAYear(Tam_Sayi);

 

Parametre ile bilertilen yılın kaç gün çektiğini hesaplayabilen bir fonksiyondur. Tam sayı tipli bir fonksiyon döndürdüğü için IntToStr fonksiyonu ile kolayca yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Sayi, Yil : Integer;

Begin

    Yil := 2005;

    Sayi := DaysInAYear(2005); // 2005 yılı kaç gün

    Caption := IntToStr(Sayi); //  365 yazar

end;

 

 

DaysInYear(Tam_Sayi);

 

Parametre ile belirtilen tarih içerikli değişken değerinin ait olduğu yılın kaç gün çektiğini hesaplayan fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Sayi  : Integer;

Begin

    Tarih := Date;

    Sayi := DaysInYear(Tarih); // Tarih kaç gün

    Caption := IntToStr(Sayi); //  365 yazar

end;

 

 

DaySpan(Tarih1 , Tarih2);

 

Parametre ile girilen iki tarihsel değişken arasındaki gün farkını hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih1, Tarih2 : TDateTime;

    Sonuc : Double;

Begin

    Tarih1 := StrToDate(’01.04.2003’);

    Tarih2 := StrToDate(’02.03.2003’);

    Sonuc := DaySpan(Tarih1, Tarih2); // Kaç gün fark var

    Caption := FloatToStr(Sonuc);

end;

 

 

 

DecodeDate(Tarih, Yil, Ay, Gun);

 

İlk parametre ile girilen tarihin yıl, ay, gün değerlerini hesaplayarak ikinci, üçüncü ve dördüncü değişkenlere aktarılır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay, Gun : Word; //Word olmak zorunda

Begin

    Tarih := StrToDate(’10.07.2003’);

    DecodeDate(Tarih, Yil, Ay, Gun); // Tarihi parçalara ayır

    Caption := ‘Yıl : ’+InttoStr(Yil)+’ Ay : ’+IntToStr(Ay)+’ Gün : ‘+IntToStr(Gun);

end;

 

 

 

DecodeDateDay(Tarih, Yil, Gun);

 

Birinci parametre ile belirtilen tarih değişkeninin yılını ikinci parametreye, yılın kaçıncı günü olduğunu da üçüncü parametreye aktaran bir prosedürdür.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay : Word; //Word olmak zorunda

Begin

    Tarih := StrToDate(’10.07.2003’);

    DecodeDateDay(Tarih, Yil, Ay);

    Caption := ‘Yıl : ’+InttoStr(Yil)+’ Gün : ‘+IntToStr(Ay);

end;

 

 

 

 

DecodeDateMonthWeek(Tarih, Yil, Ay, Kaçıncı_Hafta, Haftanın_Kaçıncı_Günü);

 

Birinci parametre ile verilen tarih değişkenine ait yıl değerini, ikinci parametreye, ay değerini değerini üçüncü parametreye, ayın kaçıncı haftası olduğunu dördüncü parametreye ve haftanın kaçıncı günü olduğunu beşinci parametreye aktaran bir prosedürdür.

 

Fonksiyon tanımlarına dikkat ederseniz bazılarının ******** olarak değil de prosedür olarak tanıdıklarını göreceksiniz Biz hepsini fonksiyon başlığı altında veriyoruz. Gerçekte de öyle olması gerekir. Çünkü bu prosedürlerin bir çoğu geriye birden fazla değer döndürdükleri için (daha önce bu konular detaylı olarak anlatılmıştır) fonksiyon olarak değil de prosedür olarak tanımlanmaları gerekmektedir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay, Hafta, Deger : Word; //Word olmak zorunda

Begin

    Tarih := StrToDate(’10.07.2003’);

    DecodeDateMonthWeek(Tarih, Yil, Ay, Hafta, Değer);

    Caption := ‘Yıl : ’+InttoStr(Yil)+’ Ay : ‘+IntToStr(Ay)+’ Ayın Kaçıncı Haftası : ’+IntToStr(Hafta)+’ Haftanın Kaçıncı Günü : ’+IntToStr(Deger);

end;

 

 

DecodeTime(Zaman, Saat, Dakika, Saniye, Salise);

 

Birinci parametre ile girilen zaman değişkeninin, saat değerini ikinci parametreye, dakika değerini üçüncü parametreye, saniye değerini dördüncü parametreye ve salise değeri de beşinci parametreye aktaranbir prosedürdür.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Zaman : TDateTime;

    Saat, Dakika, Saniye, Salise : Word; //Word olmak zorunda

Begin

    Zaman := Now;

    DecodeTime(Zaman, Saat, Dakika, Saniye, Salise);

    Caption := ‘Saat : ’+InttoStr(Saat)+’ Dakika : ‘+IntToStr(Dakika)+’ Saniye : ’+IntToStr(Saniye)+’ Salise : ’+IntToStr(Salise);

end;

 

 

 

 

 

 

EncodeDate(Yil, Ay, Gun);

 

Üç parametre ile belirtilen tam sayıları birleştirerek tarih değeri oluşturabilen bir fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için yazdırılmak istenirse DateTimeToStr tip dönüştürme fonksiyonundan faydalanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay, Gun : Word; //Word olmak zorunda

Begin

    Tarih := 2003;

    Ay := 7;

    Gün := 10;

    Tarih := EncodeDate(Yil, Ay, Gun);

    Caption := DateTimeToStr(Tarih); // 10.07.2003 yazar

end;

 

 

 

EncodeDateDay(Yıl, Değer);

 

Birinci parametre ile belirtilen (tam sayı) yıla, ikinci parametreyle belirtilen kadar (tam sayı) gün ekler. Sonuç tarihsel bir değer içerdiği için DateTimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Deger : Word; //Word olmak zorunda

Begin

    Tarih := EncodeDateDay(2003, 35); // 35 Gün ekle

    Caption := DateTimeToStr(Tarih); // 04.02.2003

end;

 

 

 

 

EncodeDateMonthWeek(Yıl, Ay, Hafta, Gün);

 

Belirtilen parametreleri birleştirerek yeni bir tarih değeri elde eder. Mesela 2003 yılının 3. ayının 2. haftasının 4. günü vs. fonksiyondan geriye dönene değer tarihsel veri içereceği için yazdırmak ancak DateTimeToStr tip dönüştürme fonksiyonu sayesinde olabilcektir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay, Deger : Integer;

Begin

    Tarih := EcodeDateMonthWeek(2003, 4, 2, 2);

    Caption := DateTimeToStr(Tarih); // 08.04.2003 yazar

end;

 

 

 

EncodeDateWeek(Yıl , Hafta);

 

Parametreyle belirtilen yıla, yine ikinci parametre kadar hafta ekler. Geriye dönen değer tarih içerikli olacaktır. Yazdırmak için DateTimeToStr fonksiyonundan faydalanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EncodeDateWeek(2003, 3); // 3. Haftanın ilk günü

    Caption := DateTimeToStr(Tarih); //13.01.2003 yazar

end;

 

EncodeDateOfWeekInMonth(Yıl , Ay, Hafta, Gün);

 

Parametre ile belirtilen ay, hafta, gün değerlerini yıla ekleyerek yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için DateTimeToStr tip dönüştürme işlemi sayesinde yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EncodeDateOfWeekInMonth(2003, 2, 2, 3); // 2. Ayın 2. haftasının 3. günü

    Caption := DateTimeToStr(Tarih); //12.02.2003 yazar

end;

 

 

 

 

EncodeTime(Zaman, Saat, Dakika, Saniye, Salise);

 

Parametre ile belirtilen değeri birleştirerek yeni bir zaman değeri türetir. Fonksiyondan geriye zaman içerikli bir değer döneceği için TimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Zaman : TDateTime;

begin

    Zaman := EncodeTime(16, 25, 30, 40);

    Caption := TimeToStr(Zaman); // 16:25:30 yazar

end;

 

 

 

EndOfADay(Yıl, Deger);

 

Parametre ile belirtilen yıl değişkenine, yine ikinci parametreyle belirtilen değere kadar gün ekler. Fonksiyondan dönen değer tarihsel içerikli olduğu için DateToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir. Geriye dönen değeri DateTimeToStr tip dönüştürme fonksiyonu ile yazdırmaya kalkarsanız, zamanla beraber yazılacaklarını belirtmek isterim.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EndOfADay(2003, 9); // 9 Gün ekle

    Caption := DateToStr(Tarih); //  09.01.2003 yazar

end;

 

 

 

EndOfAMonth(Yıl, Ay);

 

Birinci parametre ile belirtilen yıl değişkenine, ikinci parametre ile belirlenen değer kadar ayı ekler yeni bir tarih değeri bulur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateTimeToStr tip dönüştürme fonksiyonu ile yazdırılmalıdır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EndOfAMonth(2003, 7); // 7 Ay ekle

    Caption := DateToStr(Tarih); //  31.07.2003 yazar

end;

 

 

 

EndOfAWeek(Yıl, Hafta);

 

Birinci parametre ile belirtilen yıla ikinci parametre ile belirtilen haftanın en son gününü hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için yazdırmak için DateToStr fonksiyonundan faydalanılmıştır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EndOfAWeek(2003, 3); // 3. Haftanın en son günü

    Caption := DateToStr(Tarih); //  19.01.2003 yazar

end;

 

 

 

EndOfAYear(Yıl);

 

Parametre ile verilen yıla ait en son günün tarihini hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

begin

    Tarih := EndOfAYear(2003); // 3. Yılının en son günü

    Caption := DateToStr(Tarih); //  31.12.2003 yazar

end;

 

 

 

FormatDateTime(Stil , Tarih);

 

İkinci parametre ile belirtilen tarihi, birinci parametre ile belirtilen formatlı hale dönüştürür. Fonksiyondan dönen değer String tipte olduğu için direk yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

    Sonuc : AnsiString;

begin

    Tarih := Date;

    Sonuc := FormatDateTime(‘dddd, mmmm d,yyyy’, Tarih);

    Caption := Sonuc; //  Perşembe Temmuz 10 2003 yazar

end;

 

Tarihsel içerikli değişkenleri formatlamak için kullanabileceğiniz bayağı bir seçeneğiniz var. Aşağıda bu seçeneklerden bazılarını sizlere vermeye çalışacağım.

 

‘dddd, mmmm d, yyyy’              Perşembe Temmuz 10 2003 gibi

‘mmmm d, yyyy’                       Temmuz 10 2003 gibi

‘mmmm yyyy’                           Temmuz 2003 gibi

‘yyyy’                                       2003 gibi

‘dddd, d, mmmm yyyy’              Perşembe 10 Temmuz 2003 gibi

‘d, mmmm yyyy, dddd’              10 Temmuz 2003 Gibi

 

 

 

IncAMonth(Yıl, Ay, Gün);

 

Üç parametreyi birleştirerek oluşturacağı tarih değerinden, bir ay sonrasının tarihini hesaplayan fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDateTime;

    Yil, Ay, Gün : Word;

begin

    Yil := 2003;

    Ay := 7;

    Gün := 10;

    IncAMonth(Yil, Ay, Gun); // Ay’ ı artır.

    Caption := IntToStr(Yil)+’ ’+IntToStr(Ay)+’ ’+IntToStr(Gun);

end;

 

 

 

 

 

IncDay(Tarih);

 

Parametre ile girilen tarih değerini, gün olarak bir artırmak için kullanılan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olacağı için yazdırabilmeniz ancak DateToStr fonksiyonu sayesinde olacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

begin

    Tarih := Date;

    Tarih := IncDay(Tarih); // Tarihi bir gün artır

    Caption := DateToStr(Tarih);

end;

 

 

 

 

IncMonth(Tarih);

 

Parametre olarak girilen tarih içerikli değişken içeriğindeki ayı bir artırarak yeni bir tarih değeri hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için yazdırmanız ancak DateToStr fonksiyonundan faydalanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

begin

    Tarih := Date;

    Tarih := IncMonth(Tarih); // Tarihi bir ay artır

    Caption := DateToStr(Tarih);

end;

 

 

 

 

IncWeek(Tarih);

 

Parametre olarak girilen tarih içerikli değişkenin değerini bir hafta artırarak yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için, yazdırmanız ancak DateToStr fonksiyonu tarafından olacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

begin

    Tarih := Date;

    Tarih := IncWeek(Tarih); // Haftayı bir artır

    Caption := DateToStr(Tarih);

end;

 

 

 

IncYear(Tarih);

 

Parametre olarak girilen tarih içerikli değişkenin değerini bir yıl artırarak yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için, yazdırmanız ancak DateToStr tip dönüştürme fonksiyonu sayesinde yazdırabilirsiniz.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

begin

    Tarih := Date;

    Tarih := IncYear(Tarih); // Yılı bir artır

    Caption := DateToStr(Tarih);

end;

 

 

 

 

 

 

IsInLeapYear(Yıl);

 

Parametre ile girilen tarih içerikli değişken değerinin (dört yılda bir oluşan 366 gün çeken yıl) 366 gün çekip çekmediğini anlayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer True veya false olabileceği için ufak bir sonuç dallanmasıyla sonuca ulaşabilirsiniz. Şayet belirttiğiniz tarih 366 gün çekiyorsa sonuç True olacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Tarih : TDate;

    Sonuc : Boolean;

begin

    Tarih := Date;

    Sonuc := IsInLeapYear(Tarih); // 366 gün mü çekiyor

    If Sonuc=True Then

    Caption := ‘366 Gün çeker’

    Else

    Caption := ‘365 Gün çeker’;

end;

 

 

 

 

 

IsLeapYear(Yıl);

 

Parametre olarak girilen tarihin 365 gün çekip çekmediğini hesaplayan diğer bir fonksiyondur. Yukarıdakinden tek farkı parametre olarak tarih değişkeni değilde, tam sayı tip değişken kullanılmasıdır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Sonuc : Boolean;

begin

    Sonuc := IsInLeapYear(Tarih); // 366 gün mü çekiyor

    If Sonuc=True Then

    Caption := ‘366 Gün çeker’

    Else

    Caption := ‘365 Gün çeker’;

end;

 

 

 

 

IsToDay(Tarih);

 

Parametre olarak girilen tarih değişkeninin, bugünün tarihine eşit olup olmadığını kontrol eden bir fonksiyondur. Fonksiyondan geriye dönen değer Boolean tip bir değişkende saklanabilir.Bu değişkenin değerinin True olması girilen tarihe bugüne eşit olduğu anlamını taşımaktadır.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih := TDate;

    Sonuc : Boolean;

Begin

    StrToDate(Edit1.Text);

    Sonuc := IsToDay(Tarih);

    If Sonuc Then

    Caption := ‘Girdiğiniz tarih bu güne eşit’;

end;

 

Fonksiyondan true feya false değerinin döndüğünü hatırlamakta fayda var.

 

 

 

IsValidDate(Yıl, Ay, Gün);

 

Parametre olarak girilen değişken değerlerinin sırasıyla tarih oluşturup oluşturamayacağını hesaplayabilen bir fonksiyondur. (ay değerinin 12 den büyük ve gün değerinin 31 den büyük olması gibi) Fonksiyondan geriye True değerinin dönmesi değişkenlerin tarih oluşturabileceği anlamını taşımaktadır.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih := TDate;

    Yil, Ay, Gun : Word;

    Sonuc : Boolean;

Begin

    Sonuc := IsValidDate(2003, 10, 10);

    If Sonuc=True Then

    begin

        Tarih := EncodeDate(2003, 10, 5);

        Caption := DateToStr(Tarih);

    end

    else

    Caption := ‘Girdiğiniz değerden tarih oluşturulamaz’;

end;

 

 

 

 

 

MonthOf(Tarih);

 

Parametre ile belirtilen tarih değişkeninin hangi aya ait olduğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli bir değişkene aktarılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih := TDate;

    Deger : Word;

begin

    Tarih := Date+5;

    Sonuc := MonthOf(Tarih);

    Caption := IntToStr(Deger);

end;

 

 

 

 

 

MonthOfTheYear(Tarih);

 

Parametre ile tarih değişken değerinin hangi aya ait olduğunu hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih := TDate;

    Deger : Word;

begin

    Tarih := Date+5; // Şu an ki tarih 11/07/2003

    Sonuc := MonthOfTheYear(Tarih);

    Caption := IntToStr(Deger); // 7 Yazar

end;

 

 

 

 

 

MonthsBetween(Tarih1, Tarih2);

 

Parametre olarak belirtilen tarih değişkenleri arasında kaç ay olduğunu hesaplayan fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 := TDate;

    Fark : Integer;

begin

    Tarih1 := StrToDate(’04.05.2002’);

    Tarih2 := StrToDate(’04.08.2003’);

    Fark := MontsBetween(Tarih1, Tarih2);

    Caption := IntToStr(Fark); // 15 Yazar

end;

 

Fonksiyondan geriye dönen değer bir tam sayı olduğu için IntToStr tip dönüştürme fonksiyonu kullanılarak fark kolayca yazdırılabilir. Yapılan hesaplamaya dikkat edicek olursanız girilen iki tarih arasında ki ay sayısı bulunmaktadır.

 

 

 

 

 

 

 

Now();

 

O güne ait tarih ve saati yazdırabilen bir fonksiyondur. Fonksiyondan geriye dönen Tarih_Zaman içerikli veri döneceği için DateTimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırabilmektedir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    TarihZaman : TDateTime;

begin

    TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken

    Caption := DateTimeToStr(TarihZaman); // 15/03/2003 19:10:24 Yazar

end;

 

 

 

NthDayOfWeek(Tarih);

 

Parametre olarak girilen tarih değişken değerinin, ayın kaçıncı haftasında olduğunu hesaplayan fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

    Deger : Word;

begin

    Tarih := Now; // 11/07/2003

     Deger := NthDayOfWeek(Tarih); Ayın kaçıncı haftası

    Caption := IntToStr(Deger); // 2 Yazar

end;

 

Fonksiyondan tam sayı tipli bir değer döneceği için IntToStr tip dönüştürme fonksiyonu kullanarak yazdırılabilir.

 

 

RecodeDate(Tarih1, Yil, Ay, Gün);

 

2.inci, 3.üncü, 4.üncü parametre ile belirlenen değerleri birleştirip, ilk parametre formatında yeni bir tarih değeri oluşurur. Fonksiyondan geriye dönen değer Tarih_Zaman içerikli olacağı için DateTimeToStr fonksiyonu kullanılarak yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 : TDateTime;

    Yil, Ay, Gun : Word;

begin

    Tarih1 := Now; // 11/07/2003

    Yil := 2002;

    Ay := 5;

    Gun := 14;

    Tarih2 := RecodeDate(Tarih1, Yil, Ay, Gun);

    Caption := DateTimeToStr(Tarih2); // 14/05/2002 Yazar

end;

 

 

RecodeYear(Tarih, Yil);

 

İkinci parametre ile belirtilen yıl değerini, birinci parametredeki yılın yerine yazarak yeni bir tarih hesaplar.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 : TDateTime;

    Yil : Word;

begin

    Tarih1 := Now; // 11/07/2003

    Yil := 1999;

    Tarih2 := RecodeYear(Tarih1, Yil);

    Caption := DateTimeToStr(Tarih2); // 11/07/1999 Yazar

end;

 

Fonksiyondan geriye dönen değer, tarihsel içerik içerdiği için herhangi bir kontrolün üzerinde (kullanıcıya göstermek amaçlı) yazdırmak için DateTimeToStr fonksiyonundan faydalanmalısınız. Dilerseniz DateToStr sadece tarih kısmını (saat hariç) yazdırabilirsiniz.

 

 

 

 

ReplaceDate(Tarih1, Tarih2);

 

Parametre olarak belirtilen iki tarihin değerlerinin birbiriyle değişmesini sağlayan bir prosedürdür.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 : TDateTime;

begin

    Tarih1 := StrToDate(’01.02.2003’);

    Tarih2 := Date; // 11/07/2003

    ReplaceDate(Tarih1, Tarih2); // Tarihleri değiştir.

    Caption := DateTimeToStr(Tarih2); // 11/07/1999 Yazar

end;

 

 

 

 

StartOfADay(Tarih, Ay);

 

Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen sayı kadar ay ekler.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfADay(2003, 6);

    Caption := DateToStr(Tarih);   //06/01/2003 yazar

end;

 

Fonksiyondan geriye dönen değer tarihsel veri içereceği için, kontrollerden herhangi birisinde yazdırılması için DateToStr tip dönüştürme fonksiyonundan faydalanmalısınız.

 

Dilerseniz aynı işlemi aşağıda ki gibi 3 parametre ile de yapabilirsiniz. Örneği dikkatlice inceleyiniz. Çünkü fonksiyon opsiyonel parametre içermektedir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfADay(2003, 3, 10);  // 3 Ay 10 gün ekle

    Caption := DateToStr(Tarih);   //10/03/2003 yazar

end;

 

 

 

 

 

 

StartOfAMonth(Yıl, Ay);

 

Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen adet kadar ay ekler.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfAMonth(2003, 6); // 6 Ay ekle

    Caption := DateToStr(Tarih);   //01/06/2003 yazar

end;

 

 

 

 

 

StartOfAWeek(Yıl, Hafta);

 

Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen hafta sayısını ekler, yeni bir tarih hesaplar.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfAWeek(2003, 3);  // 3. Haftayı bul

    Caption := DateToStr(Tarih);   //  13/01/2003 yazar

end;

 

Fonksiyondan geriye dönen değer tarihsel içerik içerdiğinden, yazdırmak için DateToStr fonksiyonundan faydalanmalısınız.

 

 

 

 

 

 

 

 

StartOfAYear(Yıl);

 

Parametreyle belirtilen yılın ilk gününe ait tarih değerini döndüren fonksiyondur. Fonksiyondan geriye dönen değer tarihsel veri içerdiği için yazdırmak ancak DateToStr fonksiyonu sayesinde olabilecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfAYear(2004);

    Caption := DateToStr(Tarih);   //01/01/2004 yazar

end;

 

 

 

StartOfTheMonth(Yıl);

 

Parametre ile belirtilen tarihteki ilk günü bulmak için kullanılan bir fonksiyondur. (ay ve yıl değişmez sadece günün değerini 1 yapar)

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfTheMonth(Date);  //  11/07/2003

    Caption := DateToStr(Tarih);   //01/07/2003 yazar

end;

 

 

 

StartOfTheWeek(Tarih);

 

Parametre olarak girilen tarihteki ilk gününün tarihini hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StartOfTheWeek(Date);  //  11/07/2003

    Caption := DateToStr(Tarih);   //07/07/2003 yazar

end;

 

Örnekte yer alan aktif tarih 11/07/2003 tür ve Cuma gününe karşılık gelmektedir.O haftaya ait pazartesi, pazartesi gününün tarihi ise 07/0/7/2003 tür. Bu yüzden fonksiyın tarihinin bulunfuğu haftaya ait ilk günü döndüreceği için sonuç 07/07/2003 olacaktır.

 

 

 

 

StrToDate(Stirng_Tarih);

 

Parametre ile verilen string değişkeni tarihsel veriye dönüştürmek için kullanılan bir fonksiyondur. Dikkat edeceğiniz husus parametre değerini tarihe çeviremez ise program hata verecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StrToDate(Edit1.Text);  //  Tarihe çevir

    Caption := DateToStr(Tarih+10);   // 10 Gün ekle

end;

 

 

 

 

StrToDateDef(Tarih, Varsayılan_Tarih);

 

StrToDate fonksiyonu yanlış tarih girildiği zaman hata veriyordu. Bu fonksiyon ise yanlış tarih girilmesi durumunda ikinci parametre ile belirtilen değeri tarih olarak kabul edecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StrToDateDef(Edit1.Text, Date);  //  Eğer yanlış tarih girilmişse bugünün tarihini baz al

    Caption := DateToStr(Tarih);

end;

 

Fonksiyonun yaptığı iş Edit1 kutusuna tarihe dönüştürülemeyecek bir değerin girilmesi durumunda oluşacak hatayı engellemek ve (bir çok durumda bu günkü tarihin yazılması için bilerek yaptırılabilir) aktif tarihin işleme sokulmasını sağlamaktır.

 

 

 

 

 

StrToDateTime(String_Tarih);

 

Parametre ile belirtilen değişkenin değerini Tarih_Zaman içerikli değişkene aktarmak için kullanılan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StrToDateTime(Edit1.Text);  //  Tarih ve zamana çevir

    Caption := DateTimeToStr(Tarih+10); //  10 Gün ekle

end;

 

 

 

 

 

 

StrToDateTimeDef(Tarih_Zaman , Varsayılan_Tarih_Zaman);

 

Tip çevirme işleminde hata oluşursa (tarih girilmez veya yanlış girilirse) ikinci parametre ile verilen değeri kabul ederek işlemlere devam eden fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := StrToDateTimeDef(Edit1.Text, Now);  //  Eğer yanlış tarih girilirse şu anki tarih_zamanı al

    Caption := DateTimeToStr(Tarih);

end;

 

 

 

 

 

 

 

StrToTime(String_Zaman);

 

Parametre ile belirtilen string veriyi zamansal değere çevirebilen bir fonksiyondur. Şayet parametre değeri zamana çevrilemiyorsa, programınız hata mesajı verecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Zaman : TDateTime;

begin

    Zaman := StrToTime(Edit1.Text);  //  Zamana çevir

    Caption := TimeToStr(Zaman);

end;

 

Bu örnek için Edit kutusuna (10:06:45) gibi saati gösteren bir değer girmelisiniz.

 

 

 

 

 

 

StrToTimeDef(String_Zaman , Varsayılan_Zaman);

 

StrToTime fonksiyonu Edit kutusuna yanlış değer girildiğinde kırılıyordu. Bu fonksiyonda yanlış değer (zaman çevrilemeyecek string) girilmesi durumunda ikinci parametre ile verilen zaman değeri kabul edilecek ve işlemler devam edecektir. Dolayısı ile programın kırılmasınıda engellemiş olacaksınız.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Zaman : TDateTime;

begin

    Zaman := StrToTimeDef(Edit1.Text , Time);  //  Yanlış değer girilirse şu an ki zamanı kabul et

    Caption := TimeToStr(Zaman);

end;

 

 

 

 

 

 

 

 

Time – GetTime :

 

İki fonksiyonu kullanarak da aktif saati öğrenebilirsiniz.Fonksiyondan geriye dönen değer zaman içerikli olacağı için yazdırmak için TimeToStr tip dönüşüm fonksiyonunu kullanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Zaman1, Zaman2 : TDateTime;

begin

    Zaman1 := Time;

    Zaman2 := GetTime;

    Caption := ‘Time : ’+TimeToStr(Zaman1)+’    GetTime : ’+TimeToStr(Zaman2);

end;

 

 

 

 

 

 

 

TimeOf(Zaman);

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Zaman1, Zaman2 : TDateTime;

begin

    Zaman1 := Time;

    Zaman2 := TimeOf(Now);

    Caption := ‘Time : ’+TimeToStr(Zaman1)+’    TimeOf : ’+TimeToStr(Zaman2);

end;

 

 

 

 

 

TimeToStr(Tarih_Zaman);

 

Parametre ile belirtilen tarih ve zamanın sadece zaman ile ilgili kısmını string e çevirip yazdırmak için kullanılır. Aşağıdaki örnekte TimeToStr ile DateTimeToStr arasındaki fark anlatılmıştır.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Zaman : TDateTime;

begin

    Zaman := Now;

    Caption := ‘TimeToStr : ’+TimeToStr(Zaman)+’    DateTimeToStr : ’+DateTimeToStr(Zaman);

end;

 

 

 

 

 

 

 

 

Today:

 

Aktif tarihi (saatsiz olarak) yazdırmak için kullanılan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := Today;

    Caption := DateTimeToStr(Tarih); //  11/07/2003

end;

 

Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateTimeToStr (DateToStr de olur) tip dönüştürme fonksiyonundan faydalanmalısınız.

 

 

 

 

 

 

 

Tomorrow:

 

Aktif tarihten (Date) bir gün sonraki tarihi bulmak için kullanılan bir fonksiyondur. (Date+1)

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Yarin : TDateTime;

begin

    Yarin := Tomorrow;

    Caption := DateTimeToStr(Yarin);

end;

 

 

 

 

 

WeekOf(Tarih);

 

Parametreyle belirtilen tarih değerinin yılın kaçıncı haftasına karşılık geldiğini hesaplayan bir fonksiyondur.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

    Hafta : Word;

begin

    Tarih := Now;  // Şu an ki tarih 11/07/2003

    Hafta := WeekOf(Tarih);  // Yılın kaçıncı haftası

    Caption := IntToStr(Hafta)+’. Hafta’; // 28. Hafta yazar

end;

 

 

 

 

WeekOfTheMonth(Tarih);

 

Bu da belirtilen tarih içerisinde o aya ait hangihaftada bulunduğunu hesaplayan bir fonksiyondur. Fonksiyondan geriye dönen değer tam sayı olduğu için yazdırılma işlemi ancak IntToStr tip dönüştürme fonksiyonu kullanılarak yapılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

    Hafta : Word;

begin

    Tarih := Now; 

    Hafta := WeekOfTheMonth(Tarih);  // Ayın kaçıncı haftası

    Caption := IntToStr(Hafta);

end;

 

 

 

 

 

WeekBetween(Tarih1, Tarih2);

 

Parametre olarak girilen iki tarih arasındaki hafta sayısını hesaplayan bir fonksiyondur. Fonksiyondan geriye dönen değer tam sayı olduğu için IntToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 : TDateTime;

    Adet : Word;

begin

    Tarih1 := StrToDate(’01.03.2003’);

    Tarih2 := StrToDate(’01.05.2003’);

    Adet := WeeksBetWeen(Tarih1,Tarih2);  // Arada kaç hafta var

    Caption := IntToStr(Adet)+’ Hafta fark var’;  //  8 Hafta fark var yazar

end;

 

 

 

 

 

WeeksInAYear(Yıl);

 

Parametre ile girilen yılın kaç haftadan oluştuğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olduğu için IntToStr fonksiyonu sayesinde yazdırabilirsiniz.

 

Procedure TForm1.Button1Click(Sender; Object);

begin

    Caption := IntToStr(WeeksInAYear(2003)); // 52 yazar

end;

 

 

 

 

 

 

YearOf(Tarih);

 

Parametre olarak girilen tarih zaman değerinden sadece yıla ait olan bölümü döndüren fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

    Deger : Word;

begin

    Tarih := Now;

    Deger := YearOf(Tarih);   //  Sadece yılı al

    Caption := IntToStr(Deger);  // 2003 yazar

end;

 

 

 

 

YearsBetween(Tarih1, Tarih2);

 

Parametre ile belirtilen tarihlerin arasında kaç yıl bulunduğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih1, Tarih2 : TDateTime;

    Deger : Integer;

begin

    Tarih1 := StrToDate(’01.02.2003’);

    Tarih2 := StrToDate(’01.03.2006’);

    Deger := YearsBetween(Tarih1,Tarih2);  // Arada kaç yıl var

    Caption := IntToStr(Deger);  //  3 yazar

end;

 

 

 

Yesterday :

 

Bir önceki güne ait (Date-1) tarihi hesaplayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer tarih içerikli olacağı için yazdırmak ancak DateToStr tip dönüştürme fonksiyonu sayesinde olabilecektir.

 

Procedure TForm1.Button1Click(Sender; Object);

Var

    Tarih : TDateTime;

begin

    Tarih := Yesterday; // Bir önceki günü al

    Caption := ‘Önceki günkü tarih ’+DateToStr(Tarih);

end;


 

Yorum Yaz