Delphi programozás: Dátum / Idő rutinok

Két TDateTime értéket összehasonlít ("kevesebb", "egyenlő" vagy "nagyobb" értéket ad vissza). Nem veszi figyelembe az Idő részt, ha mindkét érték "esik" ugyanazon a napon.

CompareDateTime funkció

Két TDateTime értéket összehasonlít ("kevesebb", "egyenlő" vagy "nagyobb" értéket ad vissza).

Nyilatkozat:
TValueRelationship típus = -1..1
funkció CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Leírás:
Két TDateTime értéket összehasonlít ("kevesebb", "egyenlő" vagy "nagyobb" értéket ad vissza).

A TValueRelationship a két érték közötti kapcsolatot ábrázolja. Három TValueRelationship értéknek van egy "tetszett" szimbolikus állandója:
-1 [LessThanValue] Az első érték kisebb, mint a második érték.
0 [EqualsValue] A két érték egyenlő.
1 [GreaterThanValue] Az első érték nagyobb, mint a második érték.
ÖsszehasonlításDátum eredménye:

LessThanValue, ha az ADate korábbi, mint a BDate.
EqualsValue, ha mind az ADate, mind a BDate dátum- és időrésze azonos
GreaterThanValue, ha az ADate későbbi, mint a BDate.

instagram viewer

Példa:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Most; FutureMoment: = IncDay (ThisMoment, 6); // hozzáadja 6 napot. // CompareDateTime (ThisMoment, FutureMoment) a LessThanValue értéket adja vissza (-1) // CompareDateTime (FutureMoment, ThisMoment) a GreaterThanValue értéket adja vissza (1)

CompareTime funkció

Két TDateTime értéket összehasonlít ("kevesebb", "egyenlő" vagy "nagyobb" értéket ad vissza). Nem veszi figyelembe a Dátum részt, ha mindkét érték egyszerre fordul elő.

Nyilatkozat:
TValueRelationship típus = -1..1
funkció CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Leírás:
Két TDateTime értéket összehasonlít ("kevesebb", "egyenlő" vagy "nagyobb" értéket ad vissza). Nem veszi figyelembe az Idő részt, ha mindkét érték egyszerre fordul elő.

A TValueRelationship a két érték közötti kapcsolatot ábrázolja. Három TValueRelationship értéknek van egy "tetszett" szimbolikus állandója:
-1 [LessThanValue] Az első érték kisebb, mint a második érték.
0 [EqualsValue] A két érték egyenlő.
1 [GreaterThanValue] Az első érték nagyobb, mint a második érték.
ÖsszehasonlításDátum eredménye:

LessThanValue, ha az ADate a BDate által meghatározott napon korábban jelentkezik.
EqualsValue, ha mind az ADate, mind a BDate időrészei azonosak, figyelmen kívül hagyva a dátum részt.
GreaterThanValue, ha az ADate később fordul elő a BDate által meghatározott napon.

Példa:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Most; AnotherMoment: = IncHour (ThisMoment, 6); // hozzáadja 6 órát. // CompareDate (ThisMoment, AnotherMoment) a LessThanValue értéket adja vissza (-1) // CompareDate (AnotherMoment, ThisMoment) a GreaterThanValue értéket adja vissza (1

Dátum funkció

Visszaadja az aktuális rendszer dátumát.

Nyilatkozat:
típus TDateTime = típus Kettős;

funkció dátum: TDateTime;

Leírás:
Visszaadja az aktuális rendszer dátumát.

A TDateTime érték szerves része annak a napoknak a száma, amely eltelt az 1899/30/30. A TDateTime érték frakcionált része egy eltelt 24 órás nap töredéke.

A két dátum közötti hány napszám megkereséséhez egyszerűen vonja le a két értéket. Hasonlóképpen, a dátum és az idő értékének bizonyos részarányos napokkal való növeléséhez egyszerűen adja hozzá a tört számot a dátum és az idő értékéhez.

Példa: ShowMessage ('Ma van' + DateToStr (dátum));

DateTimeToStr funkció

A TDateTime értéket karakterlánkká konvertálja (dátum és idő).

Nyilatkozat:
típus
TDateTime = típus Kettős;

funkció DayOfWeek (Dátum: TDateTime): egész szám;

Leírás:
Visszaadja a hét napját egy adott dátumhoz.

A DayOfWeek egész számot ad vissza 1 és 7 között, ahol vasárnap a hét első napja, szombat pedig hetedik.
A DayOfTheWeek nem felel meg az ISO 8601 szabványnak.

Példa:

const Napok: = = sor [1..7] tömbje ('Vasárnap Hétfő Kedd Szerda Csütörtök Péntek Szombat') ShowMessage ('Ma van' + Napok [DayOfWeek (dátum)])); //Ma hétfő van

DaysBetween funkció

A megadott dátumok közötti teljes napok számát adja meg.

Nyilatkozat:
funkció
DaysBetween (const ANow, AThen: TDateTime): Egész szám;

Leírás:
A megadott dátumok közötti teljes napok számát adja meg.

A funkció csak egész napot számít. Ez azt jelenti, hogy visszaadja a 0 értéket a 2003.01.01. 23:59:59 és a 2003.01.01. 23:59:58 közötti különbség eredményeként - ahol a tényleges különbség egy * egész * nap mínusz 1 másodperc .

Példa:

var dtNow, dtBirth: TDateTime; DaysFromBirth: egész szám; dtNow: = Most; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "létezik' '+ + IntToStr (DaysFromBirth) + 'egész nap!');

DateOf funkció

Csak a TDateTime érték dátum részét adja vissza, ha az Időt 0-ra állítja.

Nyilatkozat:
funkció
DateOf (dátum: TDateTime): TDateTime

Leírás:
Csak a TDateTime érték dátum részét adja vissza, ha az Időt 0-ra állítja.

A DateOf az időrészt 0-ra állítja, ami éjfél.

Példa:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Most; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Ez a nap: = 2003.06.27. 00: 00: 00: 000

DecodeDate funkció

Elválasztja az év, a hónap és a nap értékeit a TDateTime értékétől.

Nyilatkozat:
eljárás
DecodeDate (Dátum: TDateTime; var Év, hónap, nap: szó) ;;

Leírás:
Elválasztja az év, a hónap és a nap értékeit a TDateTime értékétől.

Ha az adott TDateTime érték nulla vagy annál kisebb, akkor az év, a hónap és a nap visszatérési paramétereit nullára állítják.

Példa:

var Y, M, D: Word; DecodeDate (dátum, Y, M, D); ha Y = 2000, akkor. ShowMessage ("" Rossz "században vagy!);

EncodeDate funkció
Létrehoz egy TDateTime értéket az év, a hónap és a nap értékeiből.

Nyilatkozat:
funkció
EncodeDate (év, hónap, nap: szó): TDateTime

Leírás:
Létrehoz egy TDateTime értéket az év, a hónap és a nap értékeiből.

Az évnek 1 és 9999 között kell lennie. Az érvényes hónapértékek 1 és 12 között vannak. Az érvényes napi értékek a havi értéktől függően 1 és 28, 29, 30 vagy 31 között vannak.
Ha a funkció nem sikerül, az EncodeDate felveszi az EConvertError kivételt.

Példa:

var Y, M, D: Word; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna lesz. egy éves a '+ DateToStr (dt) napon)

FormatDateTime funkció
A TDateTime értéket formázza egy karakterláncra.

Nyilatkozat:
funkció
FormatDateTime (const Fmt: húr; Érték: TDateTime): húr;

Leírás:
A TDateTime értéket formázza egy karakterláncra.

A FormatDateTime az Fmt paraméter által megadott formátumot használja. A támogatott formátum-specifikátorokról lásd a Delphi súgófájlokat.

Példa:

var s: húr; d: TDateTime;... d: = Most; // ma + a jelen idő. s: = FormatDateTime ( 'dddd', d); // s: = szerda. s: = FormatDateTime ('"Ma" dddd "perc" nn', d) // s: = Ma van a szerda 24. perc

IncDay funkció

Adott napok számát hozzáadja vagy kivonja a dátum értékétől számítva.

Nyilatkozat:
funkció
IncDay (ADate: TDateTime; Napok: egész szám = 1): TDateTime;

Leírás:
Adott napok számát hozzáadja vagy kivonja a dátum értékétől számítva.

Ha a Nap paraméter negatív, akkor a visszatérési dátum

Példa:

var Dátum: TDateTime; EncodeDate (dátum, 2003., 1., 29.) // 2003. január 29. IncDay (dátum, -1) // 2003. január 28

Most funkció

Visszaadja az aktuális rendszer dátumát és időpontját.

Nyilatkozat:
típus
TDateTime = típus Kettős;

funkció Most: TDateTime;

Leírás:
Visszaadja az aktuális rendszer dátumát és időpontját.

A TDateTime érték szerves része annak a napoknak a száma, amely eltelt az 1899/30/30. A TDateTime érték frakcionált része egy eltelt 24 órás nap töredéke.

A két dátum közötti hány napszám megkereséséhez egyszerűen vonja le a két értéket. Hasonlóképpen, a dátum és az idő értékének bizonyos részarányos napokkal való növeléséhez egyszerűen adja hozzá a tört számot a dátum és az idő értékéhez.

Példa: ShowMessage ('Most van' + DateTimeToStr (Most));

YearsBetween funkció

A megadott dátumok közötti teljes évek számát adja meg.

Nyilatkozat:
funkció
YearsBetween (const SomeDate, AnotherDate: TDateTime): egész szám;

Leírás:
A megadott dátumok közötti teljes évek számát adja meg.

Az YearsBetween hozzávetőleges értéket ad vissza, feltételezve, hogy évi 365,25 nap.

Példa:

var dtSome, dtAnother: TDateTime; DaysFromBirth: egész szám; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // nem ugró év. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // szökőév
instagram story viewer