Delphi-programmering: Datum / tid-rutiner

Jämför två TDateTime-värden (returnerar "mindre", "lika" eller "större"). Ignorerar tidsdelen om båda värdena "faller" samma dag.

CompareDateTime-funktion

Jämför två TDateTime-värden (returnerar "mindre", "lika" eller "större").

Deklaration:
typ TValueRelationship = -1..1
fungera CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Beskrivning:
Jämför två TDateTime-värden (returnerar "mindre", "lika" eller "större").

TValueRelationship representerar förhållandet mellan två värden. Var och en av tre TValueRelationship-värden har en "gillad" symbolkonstant:
-1 [LessThanValue] Det första värdet är mindre än det andra värdet.
0 [EqualsValue] De två värdena är lika.
1 [GreaterThanValue] Det första värdet är större än det andra värdet.
JämförDate resultat i:

LessThanValue om ADate är tidigare än BDate.
Lika värde Värde om datum och tid delar av både ADate och BDate är desamma
GreaterThanValue om ADate är senare än BDate.

Exempel:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Nu; FutureMoment: = IncDay (ThisMoment, 6); // lägger till 6 dagar. // CompareDateTime (ThisMoment, FutureMoment) returnerar LessThanValue (-1) // CompareDateTime (FutureMoment, ThisMoment) returnerar GreaterThanValue (1)
instagram viewer

CompareTime-funktion

Jämför två TDateTime-värden (returnerar "mindre", "lika" eller "större"). Ignorerar datumdelen om båda värdena inträffar samtidigt.

Deklaration:
typ TValueRelationship = -1..1
fungera CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Beskrivning:
Jämför två TDateTime-värden (returnerar "mindre", "lika" eller "större"). Ignorerar tidsdelen om båda värdena inträffar samtidigt.

TValueRelationship representerar förhållandet mellan två värden. Var och en av tre TValueRelationship-värden har en "gillad" symbolkonstant:
-1 [LessThanValue] Det första värdet är mindre än det andra värdet.
0 [EqualsValue] De två värdena är lika.
1 [GreaterThanValue] Det första värdet är större än det andra värdet.
JämförDate resultat i:

LessThanValue om ADate inträffar tidigare på dagen angiven av BDate.
Lika värde Värde om tidsdelar av både ADate och BDate är desamma, ignorerar Datum-delen.
GreaterThanValue om ADate inträffar senare på dagen angiven av BDate.

Exempel:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Nu; AnotherMoment: = IncHour (ThisMoment, 6); // lägger till 6 timmar. // CompareDate (ThisMoment, AnotherMoment) returnerar LessThanValue (-1) // CompareDate (AnotherMoment, ThisMoment) returnerar GreaterThanValue (1

Datumfunktion

Returnerar det aktuella systemdatumet.

Deklaration:
typ TDateTime = typ Dubbel;

fungera datum: TDateTime;

Beskrivning:
Returnerar det aktuella systemdatumet.

Den integrerade delen av ett TDateTime-värde är antalet dagar som har gått sedan 12/30/1899. Fraktionsdelen av ett TDateTime-värde är bråkdel av en 24 timmars dag som har gått.

För att hitta det fraktionerade antalet dagar mellan två datum drar du bara de två värdena. På samma sätt, för att öka ett datum- och tidsvärde med ett visst fraktionellt antal dagar, lägg bara till fraktionsnumret till datum- och tidsvärdet.

Exempel: ShowMessage ('Idag är' + DateToStr (Datum));

DateTimeToStr-funktion

Konverterar ett TDateTime-värde till en sträng (datum och tid).

Deklaration:
typ
TDateTime = typ Dubbel;

fungera DayOfWeek (Datum: TDateTime): heltal;

Beskrivning:
Returnerar veckodagen för ett visst datum.

DayOfWeek returnerar ett heltal mellan 1 och 7, där söndagen är den första veckodagen och lördagen är den sjunde.
DayOfTheWeek uppfyller inte ISO 8601-standarden.

Exempel:

const Days: array [1..7] of string = ('Söndag måndag tisdag onsdag torsdag fredag ​​lördag') ShowMessage ('Today is' + dagar [DayOfWeek (Date)]); //Idag är det måndag

DaysBetween-funktion

Ger antalet hela dagar mellan två angivna datum.

Deklaration:
fungera
DaysBetween (const ANow, AThen: TDateTime): Heltal;

Beskrivning:
Ger antalet hela dagar mellan två angivna datum.

Funktionen räknas bara hela dagar. Vad detta betyder är att det kommer att returnera 0 som resultat för skillnaden mellan 05/01/2003 23:59:59 och 05/01/2003 23:59:58 - där den faktiska skillnaden är en * hel * dag minus 1 sekund .

Exempel:

var dtNow, dtBirth: TDateTime; DaysFromBirth: heltal; dtNow: = Nu; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "existerar"' + IntToStr (DaysFromBirth) + 'hela dagar!');

DateOf-funktion

Returnerar endast datumdelen av TDateTime-värdet genom att ställa in Time-delen till 0.

Deklaration:
fungera
DateOf (Date: TDateTime): TDateTime

Beskrivning:
Returnerar endast datumdelen av TDateTime-värdet genom att ställa in Time-delen till 0.

DateOf ställer in tidsdelen till 0, vilket betyder midnatt.

Exempel:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Nu; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Den här dagen: = 06/27/2003 00: 00: 00: 000

DecodeDate-funktion

Separerar värdena för år, månad och dag från ett TDateTime-värde.

Deklaration:
procedur
DecodeDate (Datum: TDateTime; var År, månad, dag: Word) ;;

Beskrivning:
Separerar värdena för år, månad och dag från ett TDateTime-värde.

Om det givna TDateTime-värdet är mindre än eller lika med noll, ställs året, månad och dagsparametrarna in på noll.

Exempel:

var Y, M, D: Word; Avkodningsdatum (Datum, Y, M, D); om Y = 2000 då. ShowMessage ('Du är i ett "fel" århundrade!);

EncodeDate-funktion
Skapar ett TDateTime-värde från värden för år, månad och dag.

Deklaration:
fungera
EncodeDate (År, månad, dag: Word): TDateTime

Beskrivning:
Skapar ett TDateTime-värde från värden för år, månad och dag.

Året måste vara mellan 1 och 9999. Giltiga månadsvärden är 1 till 12. Giltiga dagsvärden är 1 till 28, 29, 30 eller 31, beroende på månadsvärdet.
Om funktionen misslyckas höjer EncodeDate ett undantag från EConvertError.

Exempel:

var Y, M, D: Word; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna kommer att vara. ett år gammal på '+ DateToStr (dt))

FormatDateTime-funktion
Formaterar ett TDateTime-värde till en sträng.

Deklaration:
fungera
FormatDateTime (const Fmt: string; Värde: TDateTime): sträng;

Beskrivning:
Formaterar ett TDateTime-värde till en sträng.

FormatDateTime använder det format som anges av parametern Fmt. Gå till Delphi Help-filer för de formatformat som stöds.

Exempel:

var s: string; d: TDateTime;... d: = Nu; // idag + aktuell tid. s: = FormatDateTime ( 'dddd', d); // s: = onsdag. s: = FormatDateTime ('"Idag är" dddd "minut" nn ", d) // s: = Idag är det onsdag minut 24

IncDay-funktion

Lägger till eller avlägsnar ett visst antal dagar från ett datumvärde.

Deklaration:
fungera
IncDay (ADate: TDateTime; Dagar: heltal = 1): TDateTime;

Beskrivning:
Lägger till eller avlägsnar ett visst antal dagar från ett datumvärde.

Om parametern Days är negativ är det returnerade datumet

Exempel:

var Datum: TDateTime; EncodeDate (Datum, 2003, 1, 29) // 29 januari 2003. IncDay (Datum, -1) // 28 januari 2003

Funktion nu

Returnerar det aktuella systemdatumet och tiden.

Deklaration:
typ
TDateTime = typ Dubbel;

fungera Nu: TDateTime;

Beskrivning:
Returnerar det aktuella systemdatumet och tiden.

Den integrerade delen av ett TDateTime-värde är antalet dagar som har gått sedan 12/30/1899. Fraktionsdelen av ett TDateTime-värde är bråkdel av en 24 timmars dag som har gått.

För att hitta det fraktionerade antalet dagar mellan två datum drar du bara de två värdena. På samma sätt, för att öka ett datum- och tidsvärde med ett visst fraktionellt antal dagar, lägg bara till fraktionsnumret till datum- och tidsvärdet.

Exempel: ShowMessage ('Nu är' + DateTimeToStr (Nu));

YearsBetween-funktion

Ger antalet hela år mellan två angivna datum.

Deklaration:
fungera
YearsBetween (const SomeDate, AnotherDate: TDateTime): Heltal;

Beskrivning:
Ger antalet hela år mellan två angivna datum.

YearsBetween returnerar en approximation baserad på ett antagande om 365,25 dagar per år.

Exempel:

var dtSome, dtAnother: TDateTime; DaysFromBirth: heltal; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // icke-skottår. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // skottår
instagram story viewer