作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我刚开始使用 Java,我正在制作一个程序,根据年龄和性别确定一个人的汽车租赁费率。此方法根据当前日期和出生日期计算此人的年龄。它有点工作,但边界情况存在问题(例如,有时它会说你 25 岁,而你 24 岁)。我怎样才能修复它以使其返回确切的年龄而不是说你有时大 1 岁? (请不要 Joda,我不能在这个作业中使用它)
public static int calcAge(int curMonth, int curDay, int curYear,int birthMonth,int birthDay,int birthYear) {
int yearDif = curYear - birthYear;
int age = 08;
if(curMonth < birthMonth) {
age = yearDif - 1;
}
if(curMonth == birthMonth) {
if(curDay < birthDay) {
age = yearDif - 1;
}
if(curDay > birthDay) {
age = yearDif;
}
}
if(curMonth > birthMonth) {
age = yearDif;
}
return age;
}
最佳答案
如果你会用Java 8,比joda好多了:
LocalDate birthday = LocalDate.of(1982, 01, 29);
long yearsDelta = birthday.until(LocalDate.now(), ChronoUnit.YEARS);
System.out.println("yearsDelta = " + yearsDelta);
关于java - 用Java计算当前日期和出生日期的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393717/
抱歉我的英语不好......我尝试使用 Google Apps 脚本 - 通讯录服务读取通讯录中的信息。 姓名、电子邮件、地址、电话没有问题,但我无法读取日期(我想获取联系人的出生日期)。如何读取“日
我有一个包含字段生日(DATE) 的用户表。 目前,我像这样选择生日在当前日期之前或之后 7 天内的用户: SELECT * FROM users WHERE DATE_FORMAT(birt
我是一名优秀的程序员,十分优秀!