Tipo de dados de data (Visual Basic)
Contém valores IEEE de 64 bits (8 bytes) que representam datas que variam de 1º de janeiro do ano 0001 a 31 de dezembro do ano 9999 e horários das 12h00 (meia-noite) às 23h59min59min de 9999999. Cada incremento representa 100 nanossegundos de tempo decorrido desde o início de 1º de janeiro do ano 1 no calendário gregoriano. O valor máximo representa 100 nanossegundos antes do início de 1 de janeiro do ano 10000.
Observações
Use o Date
tipo de dados para conter valores de data, hora ou valores de data e hora.
O valor padrão de 0:00:00 (meia-noite) em 1º de janeiro de Date
0001.
Você pode obter a data e hora atuais da DateAndTime aula.
Requisitos de formato
Você deve incluir um Date
literal dentro de sinais numéricos (# #
). Você deve especificar o valor de data no formato M/d/aaaa, por exemplo #5/31/1993#
, ou aaaa-MM-dd, por exemplo #1993-5-31#
. Você pode usar barras ao especificar o ano primeiro. Este requisito é independente da sua localidade e das definições de formato de data e hora do seu computador.
A razão para essa restrição é que o significado do seu código nunca deve mudar dependendo da localidade em que seu aplicativo está sendo executado. Suponhamos que você codifice um Date
literal de e pretenda que ele signifique 4 de março de #3/4/1998#
1998. Em uma localidade que usa mm/dd/aa, 3/4/1998 compila como você pretende. Mas suponha que você implante seu aplicativo em muitos países/regiões. Em uma localidade que usa dd/mm/aaaa, seu literal codificado seria compilado até 3 de abril de 1998. Em uma localidade que usa aaaa/mm/dd, o literal seria inválido (abril de 1998, 0003) e causaria um erro de compilador.
Soluções
Para converter um Date
literal para o formato da sua localidade ou para um formato personalizado, forneça o literal para a Format função, especificando um formato de data predefinido ou definido pelo usuário. O exemplo a seguir demonstra isso.
MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))
Como alternativa, você pode usar um dos construtores sobrecarregados da estrutura para montar um valor de DateTime data e hora. O exemplo a seguir cria um valor para representar 31 de maio de 1993 às 12:14 da tarde.
Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)
Formato da hora
Você pode especificar o valor de tempo no formato de 12 horas ou 24 horas, por exemplo #1:15:30 PM#
ou #13:15:30#
. No entanto, se você não especificar os minutos ou os segundos, deverá especificar AM ou PM.
Padrões de data e hora
Se você não incluir uma data em um literal de data/hora, o Visual Basic define a parte de data do valor como 1º de janeiro de 0001. Se você não incluir uma hora em um literal de data/hora, o Visual Basic define a parte de hora do valor para o início do dia, ou seja, meia-noite (0:00:00).
Conversões de tipo
Se você converter um Date
valor para o String
tipo, o Visual Basic renderizará a data de acordo com o formato de data abreviada especificado pela localidade de tempo de execução e renderizará a hora de acordo com o formato de hora (12 horas ou 24 horas) especificado pela localidade de tempo de execução.
Dicas de programação
Considerações de interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, por exemplo, automação ou objetos COM, lembre-se de que os tipos de data/hora em outros ambientes não são compatíveis com o tipo Visual Basic
Date
. Se você estiver passando um argumento de data/hora para esse componente, declare-o comoDouble
em vez de em seu novo código do Visual Basic e use os métodos DateTime.FromOADate deDate
conversão e DateTime.ToOADate.Digite caracteres.
Date
não tem nenhum caractere de tipo literal ou caractere de tipo de identificador. No entanto, o compilador trata literais dentro de sinais numéricos (# #
) comoDate
.Tipo de estrutura. O tipo correspondente no .NET Framework é a System.DateTime estrutura.
Exemplo
Uma variável ou constante do Date
tipo de dados contém a data e a hora. O exemplo a seguir ilustra isso.
Dim someDateAndTime As Date = #8/13/2002 12:14 PM#