Obtener el número de días entre dos fechas en C#

Obtener el número de días entre dos fechas en C# es posible mediante la estructura TimeSpan, así también puedes obtener segundos, minutos, horas, etc.

En muchas ocasiones necesitamos obtener minutos, horas o días, y lo que hacemos es hacer métodos para obtener cada cosa.

Podría interesarte Mostrar fecha con horas en c#  

Sin embargo, .NET nos ofrece la estructura TimeSpan que representa los intervalos de tiempo.

¿Cómo funciona?

Declaración de dos fechas:

DateTime fechaUno = Convert.ToDateTime("2017-12-24 13:30:15");
DateTime fechados = Convert.ToDateTime("2018-06-15 09:30:00");

Declaramos una variable de tipo TimeSpan:

TimeSpan difFechas = fechados - fechaUno;

Con la resta de fechas podemos obtener el intervalo de tiempo que necesitemos (minutos, horas, días, etc.).

Nota: Para obtener un valor positivo coloca primero la fecha mayor y restando la fecha menor (como el ejemplo).

Obtener intervalo de días:

int días = difFechas.Days;

Para obtener la diferencia de días utilizamos la propiedad de Days a la variable de tipo TimeSpan, el resultado devuelto es un numero entero.

Así también podemos obtener diferentes intervalos de tiempo, como los ejemplos siguientes:

Double segundos = difFechas.TotalSeconds;
//segundos = 14932785
Double minutos = difFechas.TotalMinutes;
//minutos = 248879.75
Double horas = difFechas.TotalHours;
//horas = 4147.99583333333
int dias = difFechas.Days;
//dias = 172

Utilizando esta herramienta de .Net nos ahorramos algunas horas de programación para obtener estos datos.

Esta herramienta no ofrece una propiedad que nos dé el número de meses o años, sin embargo, podemos obtenerlos partiendo de los días.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *