En C# solo contamos con un método que nos regresa la cantidad de días entre dos fechas que seria como sigue:
Referencia : TimeSpan (Estructura)
DateTime oldDate = "2 de Enero de 1989";
DateTime newDate = "3 de Febrero de 1990";
TimeSpan ts = newDate - oldDate;
String Dias = ts.Days.ToString();
Pero lo que realmente queremos es saber cuantos años, meses y días hay.
Lo que utilice fue el siguiente método que le envió ambas fechas y me regresa un String con el dato.
Lo que utilice fue el siguiente método que le envió ambas fechas y me regresa un String con el dato.
private String DiferenciaFechas(DateTime newdt, DateTime olddt)
{
Int32 anios;
Int32 meses;
Int32 dias;
String str = "";
anios = (newdt.Year - olddt.Year);
meses = (newdt.Month - olddt.Month);
dias = (newdt.Day - olddt.Day);
if (meses < 0)
{
anios -= 1;
meses += 12;
}
if (dias < 0)
{
meses -= 1;
dias += DateTime.DaysInMonth(newdt.Year, newdt.Month);
}
if (anios < 0)
{
return "Fecha Invalida";
}
if (anios > 0)
str = str + anios.ToString() + " años ";
if (meses > 0)
str = str + meses.ToString() + " meses ";
if (dias > 0)
str = str + dias.ToString() + " dias ";
return str;
}