我如何用C#计算一个人的年龄?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (92)

DateTime代表一个人的生日,我该如何计算他们的年龄?

提问于
用户回答回答于

简单易懂的解决方案。

// Save today's date.
var today = DateTime.Today;
// Calculate the age.
var age = today.Year - birthdate.Year;
// Go back to the year the person was born in case of a leap year
if (birthdate > today.AddYears(-age)) age--;

但是,这假设你正在寻找西式年龄观念和不使用East Asian reckoning(https://en.wikipedia.org/wiki/East_Asian_age_reckoning。

用户回答回答于

我认为迄今为止的任何答案都没有提供以不同方式计算年龄。例如,参见东亚年龄估算与西方年龄相比:https://en.wikipedia.org/wiki/East_Asian_age_reckoning。

任何真正的答案都必须包括本地化。在这个例子中,Strategy Pattern(https://en.wikipedia.org/wiki/Strategy_pattern)可能是有序的。

扫码关注云+社区

领取腾讯云代金券