我正在spring框架中创建一个应用程序,用于计算用户将其生日输入UI后的年龄。到目前为止,我的getAge bean有gets和sets,但是我如何合理地纠正计算方法呢?
import java.util.*;
public class ageBean {
Date birthdate;
public Date getBirthday(){
return birthdate;
}
public void setBirthdate(Date birthdate){
this.birthdate=birthdate;
}
//method goes here
}
答案 0 :(得分:0)
春天没什么。如果你想计算当前年龄,
long diff = new Date().getTime() - birthdate.getTime(); // current date - b'day
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
System.out.println("Time in seconds: " + diffSeconds + " seconds.");
System.out.println("Time in minutes: " + diffMinutes + " minutes.");
System.out.println("Time in hours: " + diffHours + " hours.");
答案 1 :(得分:0)
使用java.util.Calendar确保闰年,不同月份的天数等被计算在内,
int thisYear = Calendar.getInstance().get(Calendar.YEAR);
Calendar birthdateCalendar = Calendar.getInstance();
birthdateCalendar.setTime(birthdate);
int birthYear = birthdateCalendar.get(Calendar.YEAR);
int yearsSinceBirth = thisYear - birthYear;
答案 2 :(得分:0)
您可以通过将date1替换为您的出生日期来尝试这段代码,
Date date= new Date(System.currentTimeMillis());
date.setYear(date.getYear()+1900);
//这是完成的,因为currentTimeMillis返回从1970年1月1日起经过的时间
Date date1=new Date(2000,10,15);
long timegap =date.getTime()-date1.getTime();
long milliSecsInAYear = 31536000000L;
System.out.println(timegap/milliSecsInAYear+"years" +((date.getTime()-date1.getTime())%milliSecsInAYear)/(milliSecsInAYear/365)+"days" );
注意:我花了一年时间有365天