我需要从一个人的出生日期来计算一个人的年龄,但是这个计算对我来说是错误的,我给你举个例子。
Pepito 出生于 1997 年 12 月 17 日,此时 Pepito 是 19 岁,但计算显示他好像是 20 岁。
我的代码如下:
//FECHA NACIMIENTO EN LA BASE DE DATOS
[Display(Name = "Fecha Nacimiento")]
[DataType(DataType.Date)]
public DateTime fecha_nacimiento { get; set; }
//CALCULO DE LA EDAD
[NotMapped]
[Display(Name = "Edad")]
public int edad { get { return DateTime.Now.Year - fecha_nacimiento.Year; } }
在我的数据库中,日期是这样的:
1997-12-17 00:00:00,000
需要进行验证才能知道当前年龄,首先获得年份差异,然后与当前日期进行比较,如果小于则表示它没有转过年,然后减去一年。获取截至出生日期的年龄。今天:
在这里你可以看到Demostración
在您的情况下,您的代码将如下所示:
我给你留下了对前一个合作伙伴的代码的一个小修正。我希望它对你有帮助。
一切顺利。