gpt4 book ai didi

java - 使用方法时日历给出错误的年份

转载 作者:行者123 更新时间:2023-11-30 01:54:51 26 4
gpt4 key购买 nike

我必须找出测试人员类(class)中表格中的出生日期的年龄。这意味着我必须获取当前日期到所选特定日期的日期。而且,我将该方法放在主类中。错误是我一直为插入的所有变量获取 2018。从我的代码(并非全部都在此处)来看,第一个变量应该是 58,而不是 2018。

这是代码。

public static int ageMeth(String dob) {
dob.split("/");
int years = 0;
String tempDate = "";
boolean month = true;
if (month) {
// gets the month converts
int x = Integer.parseInt(dob.valueOf(0));
int y = Integer.parseInt(dob.valueOf(1));
String xy = Integer.toString(x, y);
int xyNum = Integer.parseInt(xy);
LocalDateTime date = LocalDateTime.now();
tempDate = date.toString();
int p = Integer.parseInt(tempDate.valueOf(5));
int i = Integer.parseInt(tempDate.valueOf(6));
String pi = Integer.toString(p, i);
int piNum = Integer.parseInt(pi);


// the days
int x2 = Integer.parseInt(dob.valueOf(2));
int y2 = Integer.parseInt(dob.valueOf(3));
String xy2 = Integer.toString(x2, y2);
int xyNum2 = Integer.parseInt(xy2);

int p2 = Integer.parseInt(tempDate.valueOf(8));
int i2 = Integer.parseInt(tempDate.valueOf(9));
String pi2 = Integer.toString(p2, i2);
int piNum2 = Integer.parseInt(pi2);


// the year
int x3 = Integer.parseInt(dob.valueOf(4));
int y3 = Integer.parseInt(dob.valueOf(5));
int xx3 = Integer.parseInt(dob.valueOf(6));
int yy3 = Integer.parseInt(dob.valueOf(7));
String xy3 = Integer.toString(x3, y3);
String xxyy3 = Integer.toString(xx3, yy3);
int xyNum3 = Integer.parseInt(xy2);
int xxyyNum3 = Integer.parseInt(xxyy3);

int p3 = Integer.parseInt(tempDate.valueOf(8));
int i3 = Integer.parseInt(tempDate.valueOf(9));
String pi3 = Integer.toString(p3, i3);
int piNum3 = Integer.parseInt(pi3);

// the main variables
int newMonth = piNum - xyNum;
int newDay = piNum2 - xyNum2;
int newYear = piNum3 - (xyNum3 + xxyyNum3);

LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(newYear, newMonth, newDay);
Period per = Period.between(birthday, today);
years = per.getYears();
}
return years;
}

最佳答案

要根据传入的 dob 查找年龄,您可以使用:

public static int ageMeth(String dob) {
return Period.between(LocalDate.parse(dob, DateTimeFormatter.ofPattern("MM/dd/yyyy")),
LocalDate.now()).getYears();
}

关于java - 使用方法时日历给出错误的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com