Sdílet prostřednictvím


Typ DATE

Typ DATE se implementuje pomocí čísla s plovoucí desetinou čárkou 8 bajtů. Dny jsou reprezentovány celými čísly přírůstky počínaje 30. prosincem 1899, půlnocí jako nulou času. Hodnoty hodin jsou vyjádřeny jako absolutní hodnota zlomkové části čísla. Následující tabulka znázorňuje několik kalendářních dat spolu s číselným ekvivalentem typu DATUM:

Datum a čas Reprezentace
30 Prosinec 1899, půlnoc 0,00
1. ledna 1900, půlnoc 2.00
4 Leden 1900, půlnoc 5.00
4. ledna 1900, 6:00 5.25
4. ledna 1900, poledne 5.50
4. ledna 1900, 9:00 5.875

Typ data DATE a COleDateTime třída představuje kalendářní data a časy jako klasický číselný řádek. Třída COleDateTime obsahuje několik metod pro manipulaci s hodnotami DATE, včetně převodu na a z jiných běžných formátů kalendářních dat.

Při práci s těmito formáty data a času ve službě Automation je třeba uvést následující body:

  • Data jsou zadána v místním čase; synchronizace musí být provedena ručně při práci s daty v různých časových pásmech.

  • Typy kalendářních dat nepočítá pro letní čas.

  • Časová osa data přestane být pro hodnoty kalendářních dat menší než 0 (před 30. prosincem 1899). Důvodem je to, že celá část hodnoty data je považována za podepsanou, zatímco zlomková část je považována za nepodepsanou. Jinými slovy, celá část hodnoty data může být kladná nebo záporná, zatímco zlomková část hodnoty data se vždy přidává k celkovému logickému datu. Následující tabulka ukazuje několik příkladů:

Datum a čas Reprezentace
27 Prosinec 1899, půlnoc –3,00
28. prosince 1899, poledne -2.50
28 Prosinec 1899, půlnoc -2.00
29 Prosinec 1899, půlnoc -1,00
30. prosince 1899, 6:00 -0.75
30. prosince 1899, poledne -0,50
30. prosince 1899, 6:00 -0,25
30 Prosinec 1899, půlnoc 0,00
30. prosince 1899, 6:00 0.25
30. prosince 1899, poledne 0,50
30. prosince 1899, 6:00 0.75
31 Prosinec 1899, půlnoc 1.00
1. ledna 1900, půlnoc 2.00
1. ledna 1900, poledne 2,50
2. ledna 1900, půlnoc 3.00

Upozornění

Všimněte si, že protože hodnota 6:00 je vždy reprezentována desetinnou hodnotou 0,25 bez ohledu na to, zda celé číslo představující den je kladné (po 30. prosinci, 1899) nebo záporné (před 30. prosincem 1899), jednoduché porovnání s plovoucí desetinou čárkou by chybně seřadilo jakékoli DATUM představující datum 6:00 v den dřívější než 12.30.1899 později než datum představující datum 7:00 ve stejném dni.

Další informace o problémech souvisejících s datem a COleDateTime typy najdete v části COleDateTime – třída a datum a čas: Podpora automatizace.

Viz také

Datum a čas
COleDateTime – třída