关于C#:计算年龄最简单和正确的方法是什么?


what is the simplest and correct way to calculate age?

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

Possible Duplicate:
How do I calculate someone's age in C#?

你好,简单的问题。需要计算年龄,只允许21岁的人。你使用时间跨度吗?所以如果有人输入日期,我需要检查他们是否大于等于21。

建议?


最简单的方法不是实际计算他们的年龄,而是看看他们的生日是否在你的限制之后:

1
2
3
4
5
6
DateTime twentyOneYearsAgo = DateTime.Today.AddYears(-21);

if (birthDate > twentyOneYearsAgo)
{
    // Sorry, you're too young
}

请注意,在闰年的2月29日,AddYears将在相关的较早年份的2月28日返回。在这种情况下,如果用户输入了实际日期,这可能就是您想要的。