如何根据出生日期(DateTime)在C#中计算年龄?
大家好!我是C#新手,正在编写一个小型客户管理应用。我需要根据存储为`DateTime`的出生日期自动计算年龄。
问题在于,简单地从出生日期减去当前日期再除以365并不准确。闰年、各月天数不同都会导致误差。我尝试过这样的代码:
```csharp
DateTime birthDate = new DateTime(2000, 2, 29); // 2月29日
DateTime today = DateTime.Today;
int age = (today - birthDate).Days / 365;
Console.WriteLine(age); // 有时输出23,但应该是24
```
但对于2月29日出生的人,或者生日在今年尚未到来的人,结果不正确。如何正确且可靠地计算年龄(以年为单位),并考虑所有这些细节?需要一个适用于任何日期(包括2月29日)的解决方案。提前感谢帮助!
<<>>