none
Como comparar los formatos DateTime y TimeSpan ? RRS feed

  • Pregunta

  • Hola ! Estoy desarrollando un sistema para un restaurante y me quede trabado en un método para realizar las actualizaciones de las reservas. Hice un método que me va leyendo todas las reservas almacenadas y va comparando con la fecha y hora actual, en caso de que el día y la hora de la reserva sea igual a la de la PC, quiero darle de baja a la reserva, pero me plantee otra cosa, quiero darle 30 minutos de espera, o sea si la reserva es para las 18:00, a las 18:30 quiero darle de baja. Me quede acá..

     clsReservas reserva = new clsReservas();

    List<Reserva> lst = reserva.LeerListado();

    int espera = 30; DateTime horaActual = DateTime.Now.ToLocalTime(); horaActual.AddMinutes(espera); foreach (Reserva a in lst) { if (a.Fecha == Convert.ToDateTime(fechadehoy) && a.Hora <= TimeSpan.Parse(horaActual)) // Mi columna Hora en mi Base de Datos es tipo Time ... ... ... }

    Pero me sale el siguiente error:

    Por favor si alguien sabe alguna alternativa se lo agradecería, desde ya muchas gracias ! Saludos !


    cervera

    jueves, 3 de octubre de 2019 1:33

Respuestas

  • Pues  así  String DatHora = DateTime.Now.ToString("HH:mm");
    namespace Rextester
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                String DatHora = DateTime.Now.ToString("HH:mm");
             
                Console.WriteLine(DatHora);
            }
        }
    }
    01:07 salida ,

    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    jueves, 3 de octubre de 2019 4:07

Todas las respuestas

  • Hola Raphael, el problema está en horaActual por lo que veo el valor es la fecha y la hora no solo la hora, teberas convertir a hora solamente prara comparar, ahora dicho esto tienes evaluado que, según ese código siempre sumara media hora? si toma como salida la hora actual (DateNow + 30)

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    jueves, 3 de octubre de 2019 3:22
  • Hola Marcelo, claro, ese es el problema, yo quiero que me tome solo la hora de la PC, para poder compararlo con la hora de mis reservas, mi campo Hora de mi tabla reserva esta como Time. Necesito un TimeSpan si o si ?. Eso lo de media hora siempre va a ser fijo, por ejemplo Juan realizo una reserva para las 20:00hs y yo a las 20:30hs del dia de la reserva la doy de baja, es como media hora de espera para la reserva

    rapha




    jueves, 3 de octubre de 2019 3:28
  • Pues  así  String DatHora = DateTime.Now.ToString("HH:mm");
    namespace Rextester
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                String DatHora = DateTime.Now.ToString("HH:mm");
             
                Console.WriteLine(DatHora);
            }
        }
    }
    01:07 salida ,

    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    jueves, 3 de octubre de 2019 4:07
  • Funciona, muchas gracias !!

    cervera

    jueves, 3 de octubre de 2019 4:11