关于C#:我如何通过日期时间选择器计算年龄


how can i calculate age by datetimepicker

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How do I calculate someone’s age

如何使用c_中的日期时间选取器计算年龄?


严格来说,

1
TimeSpan age = DateTime.Now - dateTimePicker.Value;

然而,找出某人的"年龄"只是稍微复杂一点。

1
2
3
int years = DateTime.Now.Year - dateTimePicker.Value.Year;

if(dateTimePicker.Value.AddYears(years) > DateTime.Now) years--;

因为年的长度是不同的,所以你必须这样做,而不是依赖于像TimeSpan这样一个表示特定时间量的结构(计算两个日期之间有多少个"月"也是一样的,因为月的长度从28-31天不等)。

最后一行代码是用来说明这个人今年还没有过生日。


假定datetimePicker称为dtpbirthday:

1
int age = DateTime.Now.Year - dtpBirthday.Value.Year - (DateTime.Now.DayOfYear < dtpBirthday.Value.DayOfYear ? 1 : 0);