Změna TDateTime po sekundách
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 |
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 |
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
Datum vydání: 06.01.2004 | Zobrazeno: 3488
Permanentní odkaz: Změna TDateTime po sekundách