鉴于出生日期,我如何计算当前年龄?

时间:2016-03-24 14:27:49

标签: java date

birthDate的类型为java.util.Date。 计算当前年龄的最佳方法是什么? 我想要一个java.util.Date变量存储今天 - birthDate

1 个答案:

答案 0 :(得分:0)

这取决于您当前年龄的含义。

如果您的意思是精确的天文意义,请使用

DateTime startDate = new DateTime(2000, 1, 19, 5, 14, 0, 0);
DateTime endDate = new DateTime();
Days d = Days.daysBetween(startDate, endDate);

如果您需要基于全天给出的两个日期的常识差异:

long thisDay = (new Date()).getTime() / (1000 * 60 * 60 * 24);

DateFormat formatter = new SimpleDateFormat("dd-MMM-yy");
Date birthDate = formatter.parse("11-June-07");

long birthdayInDays = birthDate.getTime() / (1000 * 60 * 60 * 24);
long dayDiff = thisDay - birthdayInDays;