es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Compruebe si el tiempo está entre dos intervalos de tiempo.

Digamos que el horario de trabajo es de 10:00 AM a 07:30 PM.

Ahora, si un usuario ingresa la hora 01:00 PM, debería ser aceptada, pero si ingresa la hora 10:00 PM, no debería ser aceptada.

Estoy obteniendo la hora del horario de trabajo de la base de datos y convirtiéndolas en TimeSpan de la siguiente manera:

startTime = TimeSpan.Parse(startTime24);
endTime = TimeSpan.Parse(endTime24);

Ahora voy a obtener la hora desde el lado del usuario y asignarla a una variable que contendrá la hora, así que ahora quiero verificar si esa hora está dentro de este intervalo de tiempo o no.

A continuación se muestra el código. He intentado verificar si la hora del usuario está dentro del intervalo, pero no funciona como se espera. ¿Alguna idea?

startTime = TimeSpan.Parse(startTime24); // Esta es la hora de inicio del intervalo de trabajo
endTime = TimeSpan.Parse(endTime24); // Esta es la hora de finalización del intervalo de trabajo

TimeSpan appointmentTimeSpan = obj.AppointmentTimeFrom // Esta es la hora que obtengo del usuario.

if (appointmentTimeSpan > startTime && appointmentTimeSpan < endTime)
{
return Messages.WorkingSlotNotAvailable; // No está disponible la hora asignada por el usuario.
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede intentar usar el método TimeSpan.Compare para comparar los dos tiempos. El método devuelve un valor entero que se puede usar para determinar si el timespan es mayor que, igual o menor que el otro timespan.

    int result = TimeSpan.Compare(appointmentTimeSpan, startTime);
    if (result >= 0 && TimeSpan.Compare(appointmentTimeSpan, endTime) <= 0)
    {
        return Messages.WorkingSlotNotAvailable;
    }
    

Comments are closed.