„Delphi“ programavimas: datos ir laiko sudarymas

click fraud protection

Palygina dvi „TDateTime“ reikšmes (grąžina „mažiau“, „lygią“ arba „didesnę“). Nepaiso laiko dalies, jei abi vertės „nukrenta“ tą pačią dieną.

„CompareDateTime“ funkcija

Palygina dvi „TDateTime“ reikšmes (grąžina „mažiau“, „lygią“ arba „didesnę“).

Deklaracija:
tipas TValueRelationship = -1..1
funkcija CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Apibūdinimas:
Palygina dvi „TDateTime“ reikšmes (grąžina „mažiau“, „lygią“ arba „didesnę“).

„TValueRelationship“ parodo santykį tarp dviejų verčių. Kiekviena iš trijų „TValueRelationship“ reikšmių turi „patiko“ simbolinę konstantą:
-1 [LessThanValue] Pirmoji vertė yra mažesnė už antrąją.
0 [EqualsValue] Abi vertės yra lygios.
1 [GreaterThanValue] Pirmoji vertė yra didesnė už antrąją.
PalygintiData rezultatų:

„LessThanValue“, jei „ADate“ yra ankstesnis nei „BDate“.
EqualsValue, jei ADate ir BDate datos ir laiko dalys yra vienodos
„GreaterThanValue“, jei ADate yra vėlesnė nei BDate.

Pavyzdys:

var ThisMoment, FutureMoment: TDateTime; Ši akimirka: = Dabar; „FutureMoment“: = „IncDay“ („ThisMoment“, 6); // prideda 6 dienas. // „CompareDateTime“ („ThisMoment“, „FutureMoment“) grąžina „LessThanValue“ (-1) // „CompareDateTime“ („FutureMoment“, „ThisMoment“) grąžina „GreaterThanValue“ (1)
instagram viewer

„CompareTime“ funkcija

Palygina dvi „TDateTime“ reikšmes (grąžina „mažiau“, „lygią“ arba „didesnę“). Nepaisoma datos dalies, jei abi vertės yra tuo pačiu metu.

Deklaracija:
tipas TValueRelationship = -1..1
funkcija CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Apibūdinimas:
Palygina dvi „TDateTime“ reikšmes (grąžina „mažiau“, „lygią“ arba „didesnę“). Nepaiso laiko dalies, jei abi vertės yra tuo pačiu metu.

„TValueRelationship“ parodo santykį tarp dviejų verčių. Kiekviena iš trijų „TValueRelationship“ reikšmių turi „patiko“ simbolinę konstantą:
-1 [LessThanValue] Pirmoji vertė yra mažesnė už antrąją.
0 [EqualsValue] Abi vertės yra lygios.
1 [GreaterThanValue] Pirmoji vertė yra didesnė už antrąją.
PalygintiData rezultatų:

„LessThanValue“, jei „ADate“ įvyksta anksčiau, „BDate“ nurodytą dieną.
EqualsValue, jei tiek ADate, tiek BDate laiko dalys yra vienodos, nepaisant datos.
„GreaterThanValue“, jei ADate įvyksta vėliau, BDate nurodytą dieną.

Pavyzdys:

var ThisMoment, AnotherMoment: TDateTime; Ši akimirka: = Dabar; „AnotherMoment“: = „IncHour“ („ThisMoment“, 6); // prideda 6 valandas. // „CompareDate“ („ThisMoment“, „AnotherMoment“) grąžina „LessThanValue“ (-1) // „CompareDate“ („AnotherMoment“, „ThisMoment“) grąžina „GreaterThanValue“ (1

Data funkcija

Grąžina dabartinę sistemos datą.

Deklaracija:
tipo TDateTime = tipo Dvigubas;

funkcija data: TDateTime;

Apibūdinimas:
Grąžina dabartinę sistemos datą.

Neatsiejama „TDateTime“ vertės dalis yra dienų skaičius, praėjęs nuo 1899 30 12. Dalinė „TDateTime“ vertės dalis yra praėjusios 24 valandų dienos dalis.

Norėdami rasti trupmeninį dienų skaičių tarp dviejų datų, tiesiog atimkite dvi reikšmes. Taip pat, norėdami padidinti datos ir laiko vertę tam tikru trupmeniniu dienų skaičiumi, tiesiog pridėkite trupmeninį skaičių prie datos ir laiko vertės.

Pavyzdys: „ShowMessage“ („Šiandien yra“ + „DateToStr“ (Data));

„DateTimeToStr“ funkcija

Konvertuoja „TDateTime“ reikšmę į eilutę (datą ir laiką).

Deklaracija:
tipo
TDateTime = tipo Dvigubas;

funkcija DayOfWeek (Data: TDateTime): sveikasis skaičius;

Apibūdinimas:
Grąžina nurodytos datos savaitės dieną.

„DayOfWeek“ grąžina sveiką skaičių nuo 1 iki 7, kur sekmadienis yra pirmoji savaitės diena, o šeštadienis yra septintoji.
„DayOfTheWeek“ neatitinka ISO 8601 standarto.

Pavyzdys:

dienos dienos: [=..7] eilutės masyvas ('Sekmadienis Pirmadienis Antradienis Trečiadienis Ketvirtadienis Penktadienis Šeštadienis') „ShowMessage“ ('Šiandien yra' + dienos [DayOfWeek (Data)])); //Šiandien yra pirmadienis

Funkcija „DaysBetween“

Pateikiamas ištisų dienų skaičius tarp dviejų nurodytų datų.

Deklaracija:
funkcija
„DaysBetween“ (const ANow, AThen: TDateTime): Sveikasis skaičius;

Apibūdinimas:
Pateikiamas ištisų dienų skaičius tarp dviejų nurodytų datų.

Funkcija skaičiuojama tik ištisas dienas. Ką tai reiškia, kad ji grąžins 0 kaip skirtumas tarp 2003-01-01 23:59:59 ir 2003-01-01 23:59:58 - kai tikrasis skirtumas yra viena * visa * diena atėmus 1 sekundę .

Pavyzdys:

var dtNow, dtBirth: TDateTime; „DaysFromBirth“: sveikasis skaičius; dtNow: = Dabar; dtBirth: = „EncodeDate“ (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); „ShowMessage“ („Zarko Gajic“ egzistuoja „„ + “ „IntToStr“ („DaysFromBirth“) + „visos dienos!“);

Funkcija „DateOf“

Grąžina tik „TDateTime“ vertės datą, datą nustatydami 0.

Deklaracija:
funkcija
„DateOf“ (data: „TDateTime“): „TDateTime“

Apibūdinimas:
Grąžina tik „TDateTime“ vertės datą, datą nustatydami 0.

„DateOf“ laiko dalį nustato iki 0, tai reiškia vidurnaktį.

Pavyzdys:

var ThisMoment, ThisDay: TDateTime; Ši akimirka: = Dabar; // -> 06/27/2003 10:29:16:138. „ThisDay“: = DateOf („ThisMoment“); // Ši diena: = 2003-06-27 00: 00: 00: 000

Funkcija „DecodeDate“

Atskirkite metų, mėnesio ir dienos vertes nuo „TDateTime“ vertės.

Deklaracija:
procedūra
„DecodeDate“ (Data: TDateTime; var Metai, mėnuo, diena: žodis) ;;

Apibūdinimas:
Atskirkite metų, mėnesio ir dienos vertes nuo „TDateTime“ vertės.

Jei duota „TDateTime“ vertė yra mažesnė arba lygi nuliui, metų, mėnesio ir dienos grąžos parametrai yra nustatyti į nulį.

Pavyzdys:

var Y, M, D: žodis; „DecodeDate“ (data, Y, M, D); jei Y = 2000, tada. „ShowMessage“ („Tu esi„ neteisingame amžiuje “!);

„EncodeDate“ funkcija
Sukuriama „TDateTime“ vertė iš metų, mėnesio ir dienos verčių.

Deklaracija:
funkcija
„EncodeDate“ (metai, mėnuo, diena: žodis): „TDateTime“

Apibūdinimas:
Sukuriama „TDateTime“ vertė iš metų, mėnesio ir dienos verčių.

Metai turi būti nuo 1 iki 9999. Tinkamos mėnesio vertės yra nuo 1 iki 12. Tinkamos dienos vertės yra nuo 1 iki 28, 29, 30 arba 31, atsižvelgiant į mėnesio vertę.
Jei funkcija nepavyksta, „EncodeDate“ iškelia „EConvertError“ išimtį.

Pavyzdys:

var Y, M, D: žodis; dt: „TDateTime“; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna bus. vienerių metų „+ DateToStr (dt))

„FormatDateTime“ funkcija
Formatuoja eilutės vertę „TDateTime“.

Deklaracija:
funkcija
„FormatDateTime“ (const Fmt: styga; Vertė: „TDateTime“): stygos;

Apibūdinimas:
Formatuoja eilutės vertę „TDateTime“.

„FormatDateTime“ naudoja formatą, kurį nurodo „Fmt“ parametras. Norėdami pamatyti palaikomus formato specifikatorius, žiūrėkite „Delphi“ pagalbos failus.

Pavyzdys:

var s: styga; d: „TDateTime“;... d: = Dabar; // šiandien + dabartinis laikas. s: = FormatDateTime ('dddd', d); // s: = trečiadienis. s: = FormatDateTime ('' Šiandien yra 'dddd' minute 'nn', d) // s: = Šiandien yra trečiadienio minutė 24

„IncDay“ funkcija

Prideda arba atima tam tikrą dienų skaičių nuo datos vertės.

Deklaracija:
funkcija
„IncDay“ („ADate“: „TDateTime“; Dienos: Sveikasis skaičius = 1): TDateTime;

Apibūdinimas:
Prideda arba atima tam tikrą dienų skaičių nuo datos vertės.

Jei dienų parametras yra neigiamas, grąžinama data yra

Pavyzdys:

var Data: TDateTime; „EncodeDate“ (data, 2003, 1, 29) // 2003 m. Sausio 29 d. „IncDay“ (data, -1) // 2003 m. Sausio 28 d

Dabar funkcija

Grąžina esamą sistemos datą ir laiką.

Deklaracija:
tipo
TDateTime = tipo Dvigubas;

funkcija Dabar: „TDateTime“;

Apibūdinimas:
Grąžina esamą sistemos datą ir laiką.

Neatsiejama „TDateTime“ vertės dalis yra dienų skaičius, praėjęs nuo 1899 30 12. Dalinė „TDateTime“ vertės dalis yra praėjusios 24 valandų dienos dalis.

Norėdami rasti trupmeninį dienų skaičių tarp dviejų datų, tiesiog atimkite dvi reikšmes. Taip pat, norėdami padidinti datos ir laiko vertę tam tikru trupmeniniu dienų skaičiumi, tiesiog pridėkite trupmeninį skaičių prie datos ir laiko vertės.

Pavyzdys: „ShowMessage“ („Dabar yra“ + „DateTimeToStr (Dabar)“);

Funkcija „YearsBetween“

Pateikiamas ištisų metų skaičius tarp dviejų nurodytų datų.

Deklaracija:
funkcija
Metai tarp (const SomeDate, AnotherDate: TDateTime): Sveikasis skaičius;

Apibūdinimas:
Pateikiamas ištisų metų skaičius tarp dviejų nurodytų datų.

„YearsBetween“ pateikia apytikslę vertę, remiantis prielaida, kad per metus bus 365,25 dienos.

Pavyzdys:

var dtSome, dtAnother: TDateTime; „DaysFromBirth“: sveikasis skaičius; dtSome: = „EncodeDate“ (2003, 1, 1); dtAnother: = „EncodeDate“ (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // metai, kuriems nėra šuolio. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // keliamieji metai
instagram story viewer