Partilhar via


Tipo de DATE

O tipo de DATA é implementado usando um número de ponto flutuante de 8 bytes.Os dias são representados por incrementos de número inteiro que começam com o 30 de dezembro de 1899, meia-noite como o tempo zero.Os valores de hora são expressos como o valor absoluto da parte fracionária do número.A tabela a seguir ilustra várias datas junto com seu equivalente numérico do tipo de DATA :

Data e hora

representação

30 de dezembro de 1899, Meia-noite

0.00

1º de janeiro de 1900, Meia-noite

2.00

4 de janeiro de 1900, Meia-noite

5.00

4 de janeiro de 1900, 6 AM..

5.25

4 de janeiro de 1900, Meio-dia

5.50

4 de janeiro de 1900, 9...

5.875

O tipo de dados de DATA , bem como a classe de COleDateTime , representam datas e horas como uma linha de. número clássicaA classe de COleDateTime contém vários métodos para manipular valores de DATA, incluindo a conversão e outros formatos de data comuns.

Os pontos a seguir devem ser observados ao trabalhar com esses formatos de data e hora na automação:

  • Datas são especificadas na hora local; a sincronização deve ser executada manualmente ao trabalhar com datas em fusos horários diferentes.

  • Os tipos de data não de tempo do horário de verão.

  • A linha de tempo de data se torna descontínua para valores de data menor que 0 (antes do 30 de dezembro de 1899).Isso ocorre porque a parte de número inteiro do valor de data é tratada como assinados, quando a parte fracionária é tratada como sem sinal.Ou é a parte do número inteiro do valor de data pode ser positivo ou negativo, quando a parte fracionária do valor de data é adicionada à data sempre lógica total.A tabela a seguir mostra alguns exemplos:

Data e hora

representação

27 de dezembro de 1899, Meia-noite

-3.00

28 de dezembro de 1899, Meio-dia

-2.50

28 de dezembro de 1899, Meia-noite

-2.00

29 de dezembro de 1899, Meia-noite

-1.00

30 de dezembro de 1899, 6...

-0.75

30 de dezembro de 1899, Meio-dia

-0.50

30 de dezembro de 1899, 6 AM..

-0.25

30 de dezembro de 1899, Meia-noite

0.00

30 de dezembro de 1899, 6 AM..

0.25

30 de dezembro de 1899, Meio-dia

0.50

30 de dezembro de 1899, 6...

0.75

31 de dezembro de 1899, Meia-noite

1.00

1º de janeiro de 1900, Meia-noite

2.00

1º de janeiro de 1900, Meio-dia

2.50

2 de janeiro de 1900, Meia-noite

3.00

Observação de cuidadoCuidado

Observe que como 6:00 AM sempre é representado por um valor fracionário 0,25 independentemente se o número inteiro que representa o dia é que positivo (depois de 30 de dezembro de 1899) ou negativo (antes de 30 de dezembro de 1899), uma comparação simples de ponto flutuante classificaria erroneamente qualquer DATA que representa 6:00 AM um dia anteriormente de 30/12/1899 como posterior a DATA que representa 7:00 AM no mesmo dia.

Mais informações sobre os problemas relacionados aos tipos de DATA e de COleDateTime pode ser encontrada em Classe de COleDateTime e Data e hora: Suporte de automação.

Consulte também

Referência

Classe de COleDateTime

Conceitos

Data e hora