sexta-feira, 9 de maio de 2014

Comparando Datas Utilizando o Tipo DateTime (C#)


Irei apresentar algumas formas de realizarmos comparações de datas utilizando o tipo DateTime no C#. Vamos a um exemplo:
DateTime data1 = Convert.ToDateTime("01/05/2014");

DateTime data2 = DateTime.Now; // 09/05/2014

if (data1 > data2)

     Console.WriteLine("data1 é maior que data2");

if (data1 < data2)

     Console.WriteLine("data1 é menor que data2");


if (data1 == data2)

     Console.WriteLine("data1 é igual que data2");


Console.ReadKey();





Programadores mais experientes costumam utilizar o método compare ele retorna um número inteiro que indica sua posição relativa na ordem de classificação.


if (DateTime.Compare(data1, data2) > 0)

     Console.WriteLine("data1 é maior que data2");

if (DateTime.Compare(data1, data2) < 0)

     Console.WriteLine("data1 é maior que data2");

if (DateTime.Compare(data1, data2) == 0)

     Console.WriteLine("data1 é maior que data2");


Console.ReadKey();
Espereo que tenham gostado e até a próxima.

3 comentários:

  1. eu fiz algumas modificações mais segue esse mesmo principio de deu certo


    txt_data_actual.Text = DateTime.Now.ToString("dd/MM/yyyy");
    string v1 = txt_data_valido.Text;
    string v2 = txt_data_actual.Text;
    DateTime data1 = Convert.ToDateTime(v1);
    DateTime data2 = Convert.ToDateTime(v2);
    //DateTime data2 = DateTime.Now;
    if (data1 > data2)
    {
    MessageBox.Show ("data1 é maior do que data2"+"\n\n Data1 "+ txt_data_valido.Text+"\n\n Data2 "+ txt_data_actual.Text);
    }
    else if (data1 < data2)
    {
    MessageBox.Show("data1 é menor do que data2" + "\n\n Data1 " + txt_data_valido.Text + "\n\n Data2 " + txt_data_actual.Text);
    }
    else if (data1 == data2)
    {
    MessageBox.Show("data1 é igual a data2" + "\n\n Data1 " + txt_data_valido.Text + "\n\n Data2 " + txt_data_actual.Text);
    }

    ResponderExcluir
  2. Esta solução tem o nivel de complexidade que estou procurando. Parabéns pelo ótimo artigo excelente discussão. Eu mero frontend tentando entender o mundo do backend

    ResponderExcluir
  3. Que bom meu amigo. Caso tenha dúvidas e desejar compartilhar e puder ajudar pode mandar.

    ResponderExcluir