| ||||
Normalmente usas la funcion DateDiff de VB.Net pero la puedes simular en C# y te podría quedar así: Cita: Igual y encuentras alguns errores en el redondedo pero solo basta con usar un integer en vez de un double.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; } Pero en fin.. despues para llamarlo sería: Cita: Espero te sirva. System.DateTime dDate = Convert.ToDateTime("dia/mes/año"); Response.Write("Tu tienes " + DateDiff("yyyy",DateTime.Now,dDate) + " años"); ![]() Salu2 ![]()
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| |||
Respuesta: calcular edad en visual studio .net C# probé la tuya Rootk porque tenia pereza de inventarme la rueda pero no me funcionó asi que hice esta:
Código:
private static string CarlcularEdadPersona( DateTime pFechaNacimientoPersona ) { string resultado = string.Empty; int anioNacimiento = pFechaNacimientoPersona.Year; int anioActual = DateTime.Today.Year; int aniosDiferencia = anioActual - anioNacimiento; DateTime fechaNacimientoCalculo = new DateTime(DateTime.Today.Year, pFechaNacimientoPersona.Month, pFechaNacimientoPersona.Day); TimeSpan diasFechaNacimiento = new DateTime( DateTime.Today.Year, 1, 1 ).Subtract( fechaNacimientoCalculo ); TimeSpan diasFechaActual = new DateTime( DateTime.Today.Year, 1, 1 ).Subtract( DateTime.Today ); if ( Math.Abs(diasFechaNacimiento.Days) >= Math.Abs(diasFechaActual.Days) ) { resultado = aniosDiferencia.ToString(); } else { resultado = ( aniosDiferencia - 1 ).ToString(); } return resultado; } |