none
Campo calculado de fechas en el modelo con ASP.NET MVC RRS feed

  • Pregunta

  • Buen día

    Necesito calcular en el modelo un campo llamado "Dias" el cual se obtiene con la resta de una fecha de entrada y una fecha de salida. el campo lo estoy haciendo de la siguiente manera pero me mando error, la pregunta es ¿Cuál es la forma correcta para calcular los días transcurridos entre 2 fechas desde un campo calculado en el modelo?

    El campo en modelo esta de la siguiente manera (Pero lo tengo con error):

    public int Dias
        {
            get
            {
                return  Convert.ToInt32(EntryTime.Value.Date - ExitTime.Value.Date);
            }
        }


    El error que me envio es: "No se puede convertir un objeto de tipo 'System.TimeSpan' al tipo 'System.IConvertible'".

    Actualmente estoy trabajando con ASP.NET MVC de visual studio 2019

    saludos y gracias por el apoyo

    martes, 4 de agosto de 2020 17:04

Todas las respuestas

  • Hola, puedes revisar este enlace.

    Calculate difference between two datetimes MVC

    Saludos!

    • Propuesto como respuesta Óscar Navarro martes, 11 de agosto de 2020 16:26
    martes, 4 de agosto de 2020 20:01
  • No puedes usar Convert.ToInt32 para convertir la resta de las fechas, porque esa resta es de tipo Timespan y el Convert no sabe convertir "eso". Pero por suerte, el TimeSpan tiene ya una propiedad que te devuelve los días:

    return ((Timespan)(EntryTime.Value.Date - ExitTime.Value.Date)).Days;

    EDITADO: Por cierto, esto no tiene nada que ver con el hecho de que sea un modelo de MVC. Tendrías que hacer lo mismo si este cálculo lo necesitases dentro de cualquier método o propiedad de una clase cualquiera, aunque no sea un modelo ni se trate de una aplicación MVC.
    martes, 4 de agosto de 2020 20:28