Tarih doğru mu
Function Tarihgecerlimi(DateString: String): Boolean;
Begin
Try
StrToDateTime(DateString);
Result := True;
Except
Result := False;
End;
End;
Ayda kaç gün var?
Function AydakiGunSayisi(DateValue: TDateTime): Integer;
var
yil : Word;
ay : Word;
gün : Word;
yeniyil : Word;
yeniay : Word;
yenigun : Word;
sayacr : Integer;
yenitarih : TDateTime;
Begin
Result := 30;
Try
DecodeDate(DateValue, Yil, ay, gun);
NewDate := EncodeDate(yil, ay, 26);
For sayac := 26 To 32 Do
Begin
yenitarih := NewDate+1;
DecodeDate(yenitarih, yeniyil, yeniay, yenigun);
If MonthNew <> MonthIn Then
Begin
DecodeDate(yenitarih-1, Yeniyil, yeniay, yenigun);
Result := yenigun;
Break;
End;
End;
Except
End;
End;
Geçen Haftanın ilk Günü
Function GecenHaftaninIlkGunu(DateValue: TDateTime): TDateTime;
Begin
Result := HaftaninIlkGunu(DateValue-7);
End;
Sonraki Ayın ilk Günü
Function SonrakiAyinIlkGunu(DateValue: TDateTime): TDateTime;
Begin
Try
Result := AyinSonGunu(DateValue)+1;
Except
Result := DateValue;
End;
End;
Sonraki haftanın ilk günü
Function SonrakiHaftaninIlkGunu(DateValue: TDateTime): TDateTime;
Begin
Result := HaftaninIlkGunu(DateValue+7);
End;
Haftanın ilk günü
Function HaftaninIlkGunu(DateValue: TDateTime): TDateTime;
Begin
Try
Result := DateValue - (DayOfWeek(DateValue)) +1;
Except
Result := 0;
End;
End;
Ayın son günü
Function AyinSonGunu(DateValue: TDateTime): TDateTime;
Var
LastDay : String;
Begin
LastDay := IntToStr(AydakiGunSayisi(DateValue));
Result := StrToDate(
FormatDateTime('mm',DateValue)+
'/'+
LastDay+
'/'+
FormatDateTime('yyyy',DateValue));
End;
Ay
Function Ay(DateValue: TDateTime): Integer;
Var
Year, Month, Day: Word;
Begin
Result := -1;
Try
DecodeDate(DateValue, Year, Month, Day);
Result := Integer(Month);
Except
Result := -1;
End;
End;
Gelecek ay
Function GelecekAy(DateValue: TDateTime): Integer;
Var
Year, Month, Day: Word;
CurMonth : Integer;
NewMonth : Integer;
Begin
Result := -1;
Try
DecodeDate(DateValue, Year, Month, Day);
CurMonth := Integer(Month);
NewMonth := ((CurMonth + 12 + 1) mod 12);
If NewMonth = 0 Then NewMonth := 12;
Result := NewMonth;
Except
Result := -1;
End;
End;
Geçen ay
Function GecenAy(DateValue: TDateTime): Integer;
Var
Year, Month, Day: Word;
CurMonth : Integer;
NewMonth : Integer;
Begin
Result := -1;
Try
DecodeDate(DateValue, Year, Month, Day);
CurMonth := Integer(Month);
NewMonth := ((CurMonth + 24 - 1) mod 12);
If NewMonth = 0 Then NewMonth := 12;
Result := NewMonth;
Except
Result := -1;
End;
End;
Gün sonra
Function nGunSonra(
DateValue : TDateTime;
DateMovement : Integer): TDateTime;
Begin
Result := DateValue + DateMovement;
End;
Gelecek ay
Function GelecekAy(DateValue: TDateTime): TDateTime;
Begin
Result := nGumSonra(DateValue,1);
End;
Önceki gün
Function onceki_gun(DateValue: TDateTime): TDateTime;
Begin
Result := NGunSonra(DateValue,-1);
End;
Geçen hafta
Function GecenHaftak(DateValue: TDateTime): TDateTime;
Begin
Result := nGunSonra(DateValue,-7);
End;