1
resposta

CONDIÇÃO => C#

Estou tentando fazer uma validação de hora, porém está dando erro no IF.. não sei mais o que poderia ser. Conseguem me ajudar?

            private static void TimerCallback(Object o) {
            string hora = DateTime.Now.ToString("HH:mm:ss");
            //string hora1 = DateTime.Now.AddMinutes(+5).ToString("HH:mm");            
            string hora1 = "13:15";

               if (hora => hora1) {
                        Console.WriteLine("In TimerCallback: " + DateTime.Now);
                        GC.Collect();
                        hora = DateTime.Now.AddMinutes(+5).ToString("HH:mm");
                  }          
            }
1 resposta

Oi Marcelo, tudo bem?

Acredito que o erro seja porque você não pode comparar strings usando o operador >= (observe que o operador de maior ou igual também é diferente do que você utilizou).

Para comparar as datas da forma como imagino que você está querendo fazer, você pode usar diretamente o objeto DateTime:

DateTime hora = DateTime.Now;
DateTime hora1 = new DateTime(hora.Year, hora.Month, hora.Day, 13, 15, 0);

if (hora >= hora1)
{
   Console.WriteLine("In TimerCallback: " + DateTime.Now);
   GC.Collect();
   hora = DateTime.Now.AddMinutes(+5);
}