Como comparar datas em VB.NET

Escrito por rick leander | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como comparar datas em VB.NET
Há algumas coisas que você deverá levar em consideração ao trabalhar com datas em VB.NET (Thinkstock Images/Comstock/Getty Images)

Em Visual Basic.Net, o tipo de variável "date" armazena tanto a data quanto a hora, com uma precisão menor que um milissegundo. Às vezes, isso é difícil de lembrar, pois o tipo de dados é chamado apenas de "date". Uma outra dificuldade é lembrar-se de que o .Net Framework não sempre é consistente ao guardar datas, e, às vezes, inclui a hora quando o lógico seria armazenar apenas o dia. Felizmente, você pode comparar uma data com VB.NET seguindo alguns passos simples.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

O que você precisa?

  • Microsoft Visual Basic Express 2010
  • Visual Studio 2010, 2008 ou 2005

Lista completaMinimizar

Instruções

  1. 1

    Abra o Visual Studio (ou VB Express) e crie um um projeto de formulário do Windows. Para fazer isso, clique em "File" (Arquivo) e, em seguida, em "New" (Novo). A janela do novo projeto aparecerá. Escolha "Visual Basic, Windows" na vista de árvore e, em seguida, "Windows Form Project" (Projeto de Formulário do Windows). Dê ao projeto o nome "TesteDatas" e clique em "OK". Após uma espera curta, aparecerá a janela do designer de formulários.

  2. 2

    Clique no ícone "Toolbox" (Caixa de ferramentas), na barra de ferramentas, e espere que ela abra. Arraste um controle "DateTimePicker" para o formulário. Clique com o botão direito na data e escolha "Properties" (Propriedades). Dê ao controle o nome "dtData", estabeleça a propriedade "Format" (Formato) em "Short" (Curto) e a propriedade "Width" (Largura) em "100". Pressione a tecla "Esc" para fechar a janela de propriedades.

  3. 3

    Arraste um botão da caixa de ferramentas para o formulário. Nomeio "btnView" e mude a propriedade "Text" (Texto) para"Ver". Clique duas vezes no botão para criar um handler (manipulador) de eventos, e adicione seguinte código ao handler:

    Private Sub btnView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnView.Click MsgBox(dtData.Value.ToString) End Sub

  4. 4

    Pressione a tecla "F5" para executar o programa. Quando o formulário aparecer, clique no botão "Ver" sem alterar a data. Note como a data e a hora aparecem, embora somente seja mostrada a data no controle "DateTimePicker".

  5. 5

    Feche o programa clicando no "X" do canto superior direito, e voltará para a vista de design. Arraste outro botão da caixa de ferramentas para o formulário, nomeie-o para "btnHoje" e estabeleça a propriedade "Text" para "Hoje". Clique duas vezes nele para criar outro handler, e adicione o seguinte código:

    Private Sub btnHoje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHoje.Click Dim msg As String = "A data ingressada (" Msg &= Date.Today.ToShortDateString msg &= ") is "

    If dtData.Value < Date.Today Then Msg &= "anterior" ElseIf dtData.Value = Date.Today Then msg &= "igual" ElseIf dtData.Value > Date.Today Then msg &= "posterior" End If

    msg &= "hoje (" msg &= Date.Today.ToShortDateString msg &= ")"

    MsgBox(msg) End Sub

  6. 6

    Pressione "F5" para executar o programa e clique no botão "Hoje" quando a janela aparecer. Note como a mensagem dirá que a data que você informou (hoje) é posterior a mesma. Como já foi dito, isto é causado pelo tempo que foi adicionado pelo controle "DateTimePicker". Conserte o programa alterando as comparações da seguinte forma:

    If dtData.Value.Date < Date.Today Then

  7. 7

    Pressione "F5" mais uma vez e clique no botão "Today" (Hoje) para ver que as datas coincidem.

Dicas & Advertências

  • Lembre-se sempre de usar o método "Date" ao ler ou comparar datas lidas da entrada do usuário e outras fontes.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível