Normalmente usas la funcion DateDiff de VB.Net pero la puedes simular en C# y te podría quedar así:
Cita: private double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate)
{
double diff=0;
try
{
System.TimeSpan TS = new System.TimeSpan(startDate.Ticks-endDate.Ticks);
switch (howtocompare.ToLower())
{
case "m":
diff = Convert.ToDouble(TS.TotalMinutes);
break;
case "s":
diff = Convert.ToDouble(TS.TotalSeconds);
break;
case "t":
diff = Convert.ToDouble(TS.Ticks);
break;
case "mm":
diff = Convert.ToDouble(TS.TotalMilliseconds);
break;
case "yyyy":
diff = Convert.ToInt64(TS.TotalDays/365);
break;
case "q":
diff = Convert.ToDouble((TS.TotalDays/365)/4);
break;
default:
diff = Convert.ToDouble(TS.TotalDays);
break;
}
}
catch (Exception e)
{
diff = -1;
}
return diff;
}
Igual y encuentras alguns errores en el redondedo pero solo basta con usar un integer en vez de un double.
Pero en fin.. despues para llamarlo sería:
Cita: System.DateTime dDate = Convert.ToDateTime("dia/mes/año");
Response.Write("Tu tienes " + DateDiff("yyyy",DateTime.Now,dDate) + " años");
Espero te sirva.
Salu2