Avatar ·

¿Cómo calcular la edad de una persona a partir de la fecha de nacimiento (DateTime) en C#?

¡Hola a todos! Soy nuevo en C# y estoy escribiendo una pequeña aplicación para la gestión de clientes. Necesito calcular automáticamente la edad de una persona basándome en su fecha de nacimiento, que se almacena como `DateTime`. \n\nEl problema es que simplemente restar la fecha actual de la fecha de nacimiento y dividir por 365 no funciona correctamente. Los años bisiestos, los diferentes números de días en los meses, todo esto da un margen de error. Probé este código:\n\n```csharp\nDateTime birthDate = new DateTime(2000, 2, 29); // 29 de febrero\nDateTime today = DateTime.Today;\nint age = (today - birthDate).Days / 365;\nConsole.WriteLine(age); // A veces muestra 23, aunque debería ser 24\n```\n\nPero para personas nacidas el 29 de febrero, o para aquellos cuyo cumpleaños aún no ha llegado en el año actual, el resultado es incorrecto. ¿Cómo calcular la edad en años de manera correcta y confiable teniendo en cuenta todos estos matices? Necesito una solución que funcione para cualquier fecha, incluido el 29 de febrero. ¡Gracias de antemano por la ayuda!\n<<>>\n

Cálculo correcto de la edad teniendo en cuenta