Programma Delphi: Datuma / laika kārtība

Salīdzina divas TDateTime vērtības (atgriež "mazāk", "vienāds" vai "lielāks"). Tiek ignorēta laika daļa, ja abas vērtības "nokrītas" tajā pašā dienā.

Funkcija CompareDateTime

Salīdzina divas TDateTime vērtības (atgriež "mazāk", "vienāds" vai "lielāks").

Deklarācija:
tips TValueRelationship = -1..1
funkcija CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Apraksts:
Salīdzina divas TDateTime vērtības (atgriež "mazāk", "vienāds" vai "lielāks").

TValueRelationship attēlo attiecības starp divām vērtībām. Katrai no trim TValueRelationhip vērtībām ir simboliska konstante: “Patika”:
-1 [LessThanValue] Pirmā vērtība ir mazāka par otro.
0 [EqualsValue] Abas vērtības ir vienādas.
1 [GreaterThanValue] Pirmā vērtība ir lielāka par otro.
SalīdzinātDatuma rezultāti:

LessThanValue, ja ADate ir vecāks par BDate.
EqualsValue, ja ADate un BDate datuma un laika daļas ir vienādas
GreaterThanValue, ja ADate ir vēlāk nekā BDate.

Piemērs:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Tagad; FutureMoment: = IncDay (ThisMoment, 6); // pievieno 6 dienas. // CompareDateTime (ThisMoment, FutureMoment) atgriež LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) atgriež GreaterThanValue (1)
instagram viewer

Funkcija CompareTime

Salīdzina divas TDateTime vērtības (atgriež "mazāk", "vienāds" vai "lielāks"). Tiek ignorēta datuma daļa, ja abas vērtības notiek vienlaikus.

Deklarācija:
tips TValueRelationship = -1..1
funkcija SalīdzinātDatums (const ADate, BDate: TDateTime): TValueRelationship

Apraksts:
Salīdzina divas TDateTime vērtības (atgriež "mazāk", "vienāds" vai "lielāks"). Ignorē daļu Laiks, ja abas vērtības notiek vienlaikus.

TValueRelationship attēlo attiecības starp divām vērtībām. Katrai no trim TValueRelationhip vērtībām ir simboliska konstante: “Patika”:
-1 [LessThanValue] Pirmā vērtība ir mazāka par otro.
0 [EqualsValue] Abas vērtības ir vienādas.
1 [GreaterThanValue] Pirmā vērtība ir lielāka par otro.
SalīdzinātDatuma rezultāti:

LessThanValue, ja ADate notiek agrāk BDate norādītajā dienā.
EqualsValue, ja gan ADate, gan BDate laika daļas ir vienādas, ignorējot datuma daļu.
GreaterThanValue, ja ADate notiek vēlāk BDate norādītajā dienā.

Piemērs:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Tagad; AnotherMoment: = IncHour (ThisMoment, 6); // pievieno 6 stundas. // CompareDate (ThisMoment, AnotherMoment) atgriež LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) atgriež GreaterThanValue (1

Datuma funkcija

Atgriež pašreizējo sistēmas datumu.

Deklarācija:
tips TDateTime = tips Divvietīgs;

funkcija datums: TDateTime;

Apraksts:
Atgriež pašreizējo sistēmas datumu.

TDateTime vērtības neatņemama sastāvdaļa ir dienu skaits, kas pagājis kopš 18/30/1899. Daļēja TDateTime vērtības daļa ir pagājušās 24 stundu dienas daļa.

Lai atrastu dalītu dienu skaitu starp diviem datumiem, vienkārši atņemiet abas vērtības. Tāpat, lai datuma un laika vērtību palielinātu par noteiktu daļu dienu, vienkārši pievienojiet daļskaitļa datuma un laika vērtībai.

Piemērs: ShowMessage ('Šodien ir' + + DateToStr (Date));

Funkcija DateTimeToStr

Pārvērš TDateTime vērtību virknē (datums un laiks).

Deklarācija:
tips
TDateTime = tips Divvietīgs;

funkcija DayOfWeek (datums: TDateTime): vesels skaitlis;

Apraksts:
Atgriež nedēļas dienu par noteikto datumu.

DayOfWeek atgriež skaitli no 1 līdz 7, kur svētdiena ir nedēļas pirmā diena, bet sestdiena ir septītā.
DayOfTheWeek neatbilst ISO 8601 standartam.

Piemērs:

const dienas: masīvs [1..7] no virknes = ('Svētdiena Pirmdiena Otrdiena Trešdiena Ceturtdiena Piektdiena Sestdiena') ShowMessage ('Šodien ir' + dienas [DayOfWeek (Date)])); //Šodien ir pirmdiena

Funkcija DaysBetween

Nodrošina veselu dienu skaitu starp diviem norādītajiem datumiem.

Deklarācija:
funkcija
DaysBetween (const ANow, AThen: TDateTime): Integer;

Apraksts:
Nodrošina veselu dienu skaitu starp diviem norādītajiem datumiem.

Funkcija skaita tikai veselas dienas. Tas nozīmē, ka tas atdos 0 kā rezultātu starpībai starp 2003.01.05. 23:59:59 un 05.01.01. 23:59:58 - kur faktiskā atšķirība ir viena * vesela * diena mīnus 1 sekunde .

Piemērs:

var dtNow, dtBirth: TDateTime; DaysFromBirth: vesels skaitlis; dtNow: = Tagad; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic' pastāv '' + + IntToStr (DaysFromBirth) + 'veselas dienas!');

Funkcija DateOf

Atgriež tikai TDateTime vērtības datuma daļu, iestatot laika daļu uz 0.

Deklarācija:
funkcija
DateOf (datums: TDateTime): TDateTime

Apraksts:
Atgriež tikai TDateTime vērtības datuma daļu, iestatot laika daļu uz 0.

DateOf laika daļu iestata uz 0, kas nozīmē pusnakti.

Piemērs:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Tagad; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Šī diena: = 06/27/2003 00: 00: 00: 000

Funkcija DecodeDate

Atdala gada, mēneša un dienas vērtības no vērtības TDateTime.

Deklarācija:
procedūra
DecodeDate (datums: TDateTime; var Gads, mēnesis, diena: vārds) ;;

Apraksts:
Atdala gada, mēneša un dienas vērtības no vērtības TDateTime.

Ja norādītā TDateTime vērtība ir mazāka vai vienāda ar nulli, gada, mēneša un dienas atgriešanās parametri tiek iestatīti uz nulli.

Piemērs:

var Y, M, D: vārds; DecodeDate (datums, Y, M, D); ja Y = 2000, tad. ShowMessage ('Tu esi "nepareizā" gadsimtā!);

EncodeDate funkcija
Izveido vērtību TDateTime no gada, mēneša un dienas vērtībām.

Deklarācija:
funkcija
EncodeDate (gads, mēnesis, diena: vārds): TDateTime

Apraksts:
Izveido vērtību TDateTime no gada, mēneša un dienas vērtībām.

Gadam jābūt no 1 līdz 9999. Derīgas mēneša vērtības ir no 1 līdz 12. Derīgās dienas vērtības ir no 1 līdz 28, 29, 30 vai 31, atkarībā no mēneša vērtības.
Ja funkcija neizdodas, EncodeDate paaugstina EConvertError izņēmumu.

Piemērs:

var Y, M, D: vārds; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna būs. viens gads vecs '+ DateToStr (dt))

FormatDateTime funkcija
Formatē virkni TDateTime vērtību.

Deklarācija:
funkcija
FormatDateTime (const Fmt: stīga; Vērtība: TDateTime): virkne;

Apraksts:
Formatē virkni TDateTime vērtību.

FormatDateTime izmanto formātu, kas norādīts parametrā Fmt. Par atbalstītajiem formāta specifikatoriem skatiet Delphi palīdzības failus.

Piemērs:

var s: virkne; d: TDateTime;... d: = Tagad; // šodien + pašreizējais laiks. s: = FormatDateTime ('dddd', d); // s: = trešdiena. s: = FormatDateTime ('"Šodien ir" dddd "minūte" nn', d) // s: = Šodien ir trešdienas minūte 24

IncDay funkcija

Pievieno vai atņem noteiktu dienu skaitu no datuma vērtības.

Deklarācija:
funkcija
IncDay (ADate: TDateTime; Dienas: vesels skaitlis = 1): TDateTime;

Apraksts:
Pievieno vai atņem noteiktu dienu skaitu no datuma vērtības.

Ja dienu parametrs ir negatīvs, atgrieztais datums ir

Piemērs:

var Date: TDateTime; EncodeDate (2003. gada 1., 29. datums) // 2003. gada 29. janvāris. IncDay (datums, -1) // 2003. gada 28. janvāris

Tagad funkcija

Atgriež pašreizējo sistēmas datumu un laiku.

Deklarācija:
tips
TDateTime = tips Divvietīgs;

funkcija Tagad: TDateTime;

Apraksts:
Atgriež pašreizējo sistēmas datumu un laiku.

TDateTime vērtības neatņemama sastāvdaļa ir dienu skaits, kas pagājis kopš 18/30/1899. Daļēja TDateTime vērtības daļa ir pagājušās 24 stundu dienas daļa.

Lai atrastu dalītu dienu skaitu starp diviem datumiem, vienkārši atņemiet abas vērtības. Tāpat, lai datuma un laika vērtību palielinātu par noteiktu daļu dienu, vienkārši pievienojiet daļskaitļa datuma un laika vērtībai.

Piemērs: ShowMessage ('Tagad ir' + + DateTimeToStr (Tagad));

Gadu starp funkciju

Nodrošina veselu gadu skaitu starp diviem norādītajiem datumiem.

Deklarācija:
funkcija
Starp gadu (const SomeDate, AnotherDate: TDateTime): vesels skaitlis;

Apraksts:
Nodrošina veselu gadu skaitu starp diviem norādītajiem datumiem.

YearsBetween atgriež tuvinājumu, pamatojoties uz pieņēmumu par 365,25 dienām gadā.

Piemērs:

var dtSome, dtAnother: TDateTime; DaysFromBirth: vesels skaitlis; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // gads, kurā nav lēciena. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // lēciena gads