Delphi - Új dátum/idő függvények a Delphi 6-ban

Dátum/idő függvények 5. rész

forráskód letöltése
A cikksorozat ezen részében azokkal a függvényekkel ismerkedünk meg, amelyekkel különböző paraméterek ismeretében előállíthatunk TDateTime típusú dátum/idő értékeket, vagy pont fordítva, a TDateTime típusú értéket bonthatjuk fel különböző időegységekre. A függvények segítségével szinte az elképzelhető lehetőségek összes megvalósítását megtaláljuk, a legalapvetőbbtől (pl. évszám, hónap, nap) a speciális esetekben használható formáktól (pl. évszám, hónap, az adott nap hónapon belüli előfordulásainak száma, a hét napjának száma).
EncodeDateTime
Osztály:
function EncodeDateTime(
const AYear,
AMonth,
ADay,
AHour,
AMinute,
ASecond,
AMilliSecond: Word
): TDateTime;
Ezzel a függvénnyel a megadott paraméterekből előállíthatjuk a TDateTime típusú dátum/idő értéket.
Paraméterek
const AYear
Évszám 1-9999.
AMonth
Hónap száma 1-12.
ADay
A nap száma 1-31. Az intervallum felső értéke az adott hónap (AMonth) napjainak számával egyenlő.
AHour
Órák száma 0-23, illetve 24, ha az összes többi időegység értéke 0.
AMinute
Percek száma 0-59.
ASecond
Másodpercek száma 0-59.
AMilliSecond: Word
Ezredmásodpercek száma 0-999.
Visszatérési érték
A paraméterekből előállított TDateTime típusú érték.
DecodeDateTime
Osztály:
procedure DecodeDateTime(
const AValue: TDateTime;
out AYear,
AMonth,
ADay,
AHour,
AMinute,
ASecond,
AMilliSecond: Word
);
Az EncodeDateTime függvény ellentetje ez az eljárás, amivel a paraméterként megadott TDatTime típusú dátum/idő értéket bonthatjuk fel különböző időegységekre. Az eredményeket a paraméterekben kapjuk meg.
Paraméterek
const AValue: TDateTime
A dátum/idő, amit fel kell bontani.
out AYear
Ebben a paraméterben kapjuk meg az évszámot.
AMonth
Ebben a paraméterben kapjuk meg a hónap számát.
ADay
Ebben a paraméterben kapjuk meg a napot.
AHour
Ebben a paraméterben kapjuk meg az órát.
AMinute
Ebben a paraméterben kapjuk meg a perceket.
ASecond
Ebben a paraméterben kapjuk meg a másodpercet.
AMilliSecond: Word
Ebben a paraméterben kapjuk meg az ezredmásodpercet.
EncodeDateWeek
Osztály:
function EncodeDateWeek(
const AYear,
AWeekOfYear: Word;
constADayOfWeek: Word = 1
): TDateTime;
A paraméterként megadott évszámból, a hét számából, és a hét napjának számából előállítja a TDateTime típusú értéket, és ezzel tér vissza.
Paraméterek
const AYear
Az évszám (1-9999).
AWeekOfYear: Word
A hét sorszáma az éven belül (1-53).
constADayOfWeek: Word = 1
A nap száma a héten belül (1-7).
DecodeDateWeek
Osztály:
procedure DecodeDateWeek(
const AValue: TDateTime;
out AYear,
AWeekOfYear,
ADayOfWeek: Word
);
Az eljárás a paraméterként megadott TDateTime típusú dátumot felbontja évszámra, a hét sorszámára, és a héten belüli nap sorszámára.
Paraméterek
const AValue: TDateTime
A szétbontandó dátum.
out AYear
Ebben a paraméterben kapjuk meg az évszámot (1-9999).
AWeekOfYear
Ebben a paraméterben kapjuk meg a hét számát (1-53).
ADayOfWeek: Word
Ebben a paraméterben kapjuk meg a nap számát (1-7).
EncodeDateDay
Osztály:
function EncodeDateDay(
const AYear,
ADayOfYear: Word
): TDateTime;
A függvény a paraméterként megadott évszámból, valamint az évből eltelt napok számából előállítja a TDateTime típusú értéket, és ezzel tér vissza.
Paraméterek
const AYear
Az év száma (1-9999).
ADayOfYear: Word
Az évből eltelt napok száma. A január 1. értéke 1, a február 3. értéke 35, stb.
DecodeDateDay
Osztály:
procedure DecodeDateDay(
const AValue: TDateTime;
out AYear,
ADayOfYear: Word
);
Az eljárás a paraméterként megadott TDateTime típusú értéket felbontja évszámra, és az évből eltelt napok számára.
Paraméterek
const AValue: TDateTime
A felbontandó dátum.
out AYear
Ebben a paraméterben kapjuk meg az évszámot.
ADayOfYear: Word
Az adott évből eltelt napok száma.
EncodeDateMonthWeek
Osztály:
function EncodeDateMonthWeek(
const AYear,
AMonth,
AWeekOfMonth,
ADayOfWeek: Word
): TDateTime;
A függvény a paraméterként megadott évszámból, hónapból, a hónap adott hetének sorszámából, és a hét napjából előállítja a TDateTime formátumú értéket, és ezzel tér vissza.
Paraméterek
const AYear
Az évszám (1-9999).
AMonth
A hónap száma (1-12).
AWeekOfMonth
A hét sorszáma az adott hónapon belül (1-5).
ADayOfWeek: Word
A nap sorszáma az adott héten belül (1-7).
DecodeDateMonthWeek
Osztály:
procedure DecodeDateMonthWeek(
const AValue: TDateTime;
out AYear,
AMonth,
AWeekOfMonth,
ADayOfWeek: Word
);
Az eljárás a paraméterként megadott dátumot felbontja évszámra, a hónap számára, a hét számára (hónapon belül), valamint a napok számára (a héten belül), és az eredményt a megfelelő paraméterekben adja vissza.
Paraméterek
const AValue: TDateTime
A felbontandó dátum.
out AYear
Ebben a paraméterben kapjuk meg az évszámot.
AMonth
Ebben a paraméterben kapjuk meg a hónapot.
AWeekOfMonth
Ebben a paraméterben kapjuk meg a hét számát az adott hónapon belül.
ADayOfWeek: Word
Ebben a paraméterben kapjuk meg a nap számát az adott héten belül.
A következő függvények az előbbiektől annyiban fognak különbözni, hogy hibás paraméterek esetén (pl. rossz hónap szám) nem okoznak hibát. Mindegyik függvény visszatérési értéke igaz, ha a művelet sikerült, és hamis, ha nem.
TryEncodeDateTime
Osztály:
function TryEncodeDateTime(
const AYear,
AMonth,
ADay,
AHour,
AMinute,
ASecond,
MilliSecond: Word;
out AValue: TDateTime
): Boolean;
A paraméterként megadott évszámból, hónapból, napból, órából, percből, másodpercből és ezredmásodpercből előállítja a TDateTime típusú értéket, amit az AValue paraméterben kapunk vissza.
TryEncodeDateWeek
Osztály:
function TryEncodeDateWeek(
const AYear,
AWeekOfYear: Word;
out AValue: TDateTime;
const ADayOfWeek: Word = 1
): Boolean;
A paraméterként megadott évszámból, a hét számából, és a hét napjának számából előállítja a TDateTime típusú értéket. A hét napjának számát (1-7) nem kötelező megadni, az alapértelmezett értéke 1. Az eredményt az AValue paraméterben kapjuk meg.
TryEncodeDateDay
Osztály:
function TryEncodeDateDay(
const AYear,
ADayOfYear: Word;
out AValue: TDateTime
): Boolean;
A paraméterként megadott évszámból, és az évből eltelt napok számából előállítja a TDateTime típusú értéket, melyet az AValue paraméterben kapunk meg.
TryEncodeDateMonthWeek
Osztály:
function TryEncodeDateMonthWeek(
const AYear,
AMonth,
AWeekOfMonth,
ADayOfWeek: Word;
var AValue: TDateTime
): Boolean;
Az eljárás az évszámból, a hónap számából, a hónap hetének sorszámából, és a hét napjának számából előállítja a TDateTime típusú értéket, melyet az AValue paraméterben kapunk meg.
RecodeYear
Osztály:
function RecodeYear(
const AValue: TDateTime;
const AYear: Word
): TDateTime;
A függvény a paraméterben megadott dátum évszámát kicseréli a szintén paraméterként megadott évszámra, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum
const AYear: Word
Ere az évszámra módosítja az AValue paraméterben megadott dátum évszámát.
RecodeMonth
Osztály:
function RecodeMonth(
const AValue: TDateTime;
const AMonth: Word
): TDateTime;
A függvény módosítja a megadott dátumban lévő hónapot, a szintén paraméterként megadott hónapra, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AMonth: Word
Erre a hónapra módosítja a dátumban szereplő hónapot.
RecodeDay
Osztály:
function RecodeDay(
const AValue: TDateTime;
const ADay: Word
): TDateTime;
A függvény a paraméterként megadott dátumban módosítja a napok számát a szintén paraméterként megadott számra, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const ADay: Word
Erre a napra módosítja a dátumban szereplő napot.
RecodeHour
Osztály:
function RecodeHour(
const AValue: TDateTime;
const AHour: Word
): TDateTime;
A paraméterként megadott dátumban felcseréli az óra értékét a szintén paraméterként megadott értékre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AHour: Word
Ennyi órára cseréli a dátumban szereplő órát.
RecodeMinute
Osztály:
function RecodeMinute(
const AValue: TDateTime;
const AMinute: Word
): TDateTime;
A paraméterként megadott dátumban felcseréli a perc értékét a szintén paraméterként megadott értékre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AMinute: Word
Erre az értékre cseréli a dátumban szereplő percet.
RecodeSecond
Osztály:
function RecodeSecond(
const AValue: TDateTime;
const ASecond: Word
): TDateTime;
A paraméterként megadott dátumban felcseréli a másodperc értékét a szintén paraméterként megadott értékre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const ASecond: Word
Erre az értékre cseréli a dátumban szereplő másodpercet.
RecodeMilliSecond
Osztály:
function RecodeMilliSecond(
const AValue: TDateTime;
const AMilliSecond: Word
): TDateTime;
A paraméterként megadott dátumban felcseréli az ezredmásodperc értékét a szintén paraméterként megadott értékre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AMilliSecond: Word
Erre az értékre cseréli a dátumban szereplő ezredmásodpercet.
RecodeDate
Osztály:
function RecodeDate(
const AValue: TDateTime;
const AYear,
AMonth,
ADay: Word
): TDateTime;
A paraméterként megadott dátumban módosítja az évszám, hónap, és nap értékeket a szintén paraméterben megadott értékekre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AYear
Az új évszám (1-9999).
AMonth
Az új hónap (1-12).
ADay: Word
Az új nap (1-31). Az intervallum felső határát az adott hónap napjainak száma határozza meg.
RecodeTime
Osztály:
function RecodeTime(
const AValue: TDateTime;
const AHour,
AMinute,
ASecond,
AMilliSecond: Word
): TDateTime;
A paraméterként megadott dátum/idő értékben felcseréli az óra, perc, másodperc és ezredmásodperc értékeket a szintén paraméterként megadott értékekre, és az eredménnyel tér vissza.
Paraméterek
const AValue: TDateTime
A módosítandó dátum/idő érték.
const AHour
Az óra új értéke (0-23, vagy 24, ha a többi paraméter értéke 0).
AMinute
A perc új értéke (0-59).
ASecond
A másodperc új értéke (0-59).
AMilliSecond: Word
Az ezredmásodperc új értéke (0-999).
RecodeDateTime
Osztály:
function RecodeDateTime(
const AValue: TDateTime;
const AYear,
AMonth,
ADay,
AHour,
AMinute,
ASecond,
AMilliSecond: Word
): TDateTime;
A paraméterként megadott dátum/idő értékben felcseréli az évszám, hónap, nap, óra, perc, másodperc és ezredmásodperc értékeket a paraméterként megadott értékekre. Ha valamelyik időegységet nem akarjuk módosítani, akkor a megfelelő paraméterben RecodeLeaveFieldAsIs konstanst adjuk meg.
Paraméterek
const AValue: TDateTime
A módosítandó dátum.
const AYear
Az új évszám (1-9999).
AMonth
Az új hónap (1-12).
ADay
Az új nap (1-31). Az intervallum felső határát az adott hónap napjainak száma határozza meg.
AHour
Az óra új értéke (0-23, vagy 24, ha a többi érték 0).
AMinute
A perc új értéke.
ASecond
A másodperc új értéke.
AMilliSecond: Word
Az ezredmásodperc új értéke.
TryRecodeDateTime
Osztály:
function TryRecodeDateTime(
const AValue: TDateTime;
const AYear,
AMonth,
ADay,
AHour,
AMinute,
ASecond,
AMilliSecond: Word;
out AResult: TDateTime
): Boolean;
Ez a függvény megegyezik a RecodeDateTIme függvénnyel, a különbség csak annyi, hogy hibás érték esetén nem keletkezik kivétel.
NthDayOfWeek
Osztály:
function NthDayOfWeek(
const AValue: TDateTime
): Word;
A függvény visszaadja, hogy az adott nap hányszor fordult elő a paraméter által meghatározott hónapban. Ha például a dátum szerdára esik, és az adott hónapban ez a második szerda, akkor a függvény visszatérési értéke 2.
DecodeDayOfWeekInMonth
Osztály:
procedure DecodeDayOfWeekInMonth(
const AValue: TDateTime;
out AYear,
AMonth,
ANthDayOfWeek,
ADayOfWeek: Word
);
Az eljárás felbontja a paraméterként megadott dátumot évszámra, hónapra, az adott nap hónapon belüli előfordulásainak számára (lásd. NthDayOfWeek függvény), és a hét napjának számára.
Paraméterek
const AValue: TDateTime
A felbontandó dátum.
out AYear
Ebben a paraméterben kapjuk meg az évszámot (1-9999).
AMonth
Ebben a paraméterben kapjuk meg a hónapot (1-12).
ANthDayOfWeek
Az adott nap előfordulása a hónapban. Ha a nap például szerdára esik, és a szerda már kétszer előfordult a hónapban, akkor a paraméter értéke 2.
ADayOfWeek: Word
A nap száma a héten belül (1-7).
EncodeDayOfWeekInMonth
Osztály:
function EncodeDayOfWeekInMonth(
const AYear,
AMonth,
ANthDayOfWeek,
ADayOfWeek: Word
): TDateTime;
A függvény a paraméterként megadott évszámból, hónapból, a nap hónapon belüli előfordulásának számából (lásd. NthDayOfWeek függvény), és a hét napjának számából előállítja a TDateTime típusú értéket, és az eredménnyel tér vissza.
Paraméterek
const AYear
Évszám (1-9999).
AMonth
A hónap száma (1-12).
ANthDayOfWeek
A nap hónapon belüli előfordulásainak száma.
ADayOfWeek: Word
A hét napjának száma (1-7).
TryEncodeDayOfWeekInMonth
Osztály:
function TryEncodeDayOfWeekInMonth(
const AYear,
AMonth,
ANthDayOfWeek,
ADayOfWeek: Word;
out AValue: TDateTime
): Boolean;
A függvény megegyezik az EncodeDayOfWeekInMonth függvénnyel, de hibás paraméterek megadásakor nem keletkezik kivétel.

Dátum/idő függvények cikksorozat