Změna TDateTime po sekundách

Klíčová slova: TDateTime, IncMonth
Rubrika: Delphi

Potřebujete ve svém programu pracovat s časem a datem ve formátu TDateTime? Potřebujete třeba jen přičíst několik sekund, hodin nebo dní? Následujících několik řádků je návodem jak nato.

Pokud bude podrobně zkoumat formát TDateTime brzo se zjistíte že ve skutečnosti je v unitu SYSTEM definován jakou: TDateTime = type Double;

Jde tedy o reálné číslo, kde jeho celá část označuje počet dní od data 30.12.1899 a desetinná část reprezentuje poměrnou část dne.

Z tohoto popisu je jasné, že pokud například potřebujete vědět kolik dní je mezi dvěmi hodnotami TDtateTime, prostě a jednoduše je od sebe odečtete. Naopak přičtením celého čísla N posunete datum o N dní dopředu.

fDateTime : TDateTime;

...

// posun o jeden den vpřed
fDateTime := fDateTime + 1;

Poměrnou část dne pak dostaneme podle následujících vztahů
Jedna hodina = 1/24
Jedna minuta = 1/1440.
Jedna sekunda = 1/86400

fDateTime : TDateTime;

...

// posun o jeden den vpřed
fDateTime := fDateTime + 1;

Potřebujete-li se však pohybovat po měsících (vpřed i zad) nebo rocích (+/- 12 měsíců) je nutné využít funkci IncMonth.

fDateTime := IncMonth(fDateTime, speMesic.Value);

Jako obvykle jsem pro vás připravil malou testovací aplikaci, kde uvidíte použité všechny předchozí příklady. Najdete ji na adrese: http://www.provaz.cz/download_id.php?id=63

Autor: Jiří Provazník
Datum vydání: 06.01.2004 | Zobrazeno: 3488
Permanentní odkaz: Změna TDateTime po sekundách

Komentáře (0)
Přidej vlastní komentář:
Následující (běžně neviditelná) pole slouží pro vnitřní identifikaci systému. Pokud je vyplníte nebude možné váš požadavek na straně serveru zpracovat:
URL:
contents:
Website:
Pro odeslání vašeho komentáře použijte tlačítko "Odeslat". Toto tlačítko nepoužívejte:

Následující položky je vhodné vyplnit:
Jméno :
Email :
Web :
Místo :
Hodnocení:
Hodnocení jako pomocí hvězdiček
1/5= nejhorší, 5/5=nejlepší