在Java中检查日历中的年龄
我的应用程序中有一个名为date of birth的字段,上面有一个日历,你可以选择出生日期。是否有一种方法可以根据在该字段中选择的值验证一个人的年龄,比如说他们是否为20岁或更大? 我对java非常陌生,正在自学,所以我真的很迷茫,如果有人能给我指出一些有用的东西,这将是非常棒的,我正在考虑一个if-else语句,但不知道如何做,任何建议、提示、链接或教程都将不胜感激,谢谢在Java中检查日历中的年龄,java,date,date-difference,date-of-birth,Java,Date,Date Difference,Date Of Birth,我的应用程序中有一个名为date of birth的字段,上面有一个日历,你可以选择出生日期。是否有一种方法可以根据在该字段中选择的值验证一个人的年龄,比如说他们是否为20岁或更大? 我对java非常陌生,正在自学,所以我真的很迷茫,如果有人能给我指出一些有用的东西,这将是非常棒的,我正在考虑一个if-else语句,但不知道如何做,任何建议、提示、链接或教程都将不胜感激,谢谢 类型是日期。因此,用户以这种格式(DD/MM/YYYY)选择他们的出生日期。然后根据这个值,我想计算他们的年龄,因为如果
类型是日期。因此,用户以这种格式(DD/MM/YYYY)选择他们的出生日期。然后根据这个值,我想计算他们的年龄,因为如果他们年龄超过20岁,我想以后限制某些功能。您可以使用java标准类
LocalDate
和Period
来实现这一点。如果需要首先将日期从字符串
解析为本地日期
,可以尝试以下操作:
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class CalendarAgeVerifier {
public static void main(String[] args) {
new CalendarAgeVerifier();
}
public CalendarAgeVerifier() {
String date = "09/15/2000";//NOTE: the leading 0 in '09' is needed to parse the date correctly; otherwise you'll get a DateTimeParseException
LocalDate currentDate = LocalDate.now();
LocalDate enteredDate = parseDate(date);
Period period = Period.between(enteredDate, currentDate);
int age = period.getYears();
System.out.println("Age: " + age);
}
public LocalDate parseDate(String date) {
return LocalDate.parse(date, DateTimeFormatter.ofPattern("MM/dd/yyyy"));
}
}
请回答您的问题,并使用此字段的代码
出生日期
以及您尝试实施验证的代码进行更新。我建议您不要使用日历
。那门课设计得很糟糕,而且早已过时。改为使用LocalDate
from。这已经被询问并回答了不止一次。所以你需要做的就是应用你的搜索引擎。另外请注意,请求指向非网站资源(如教程)的指针对于堆栈溢出来说是离题的(现在我已经给了你一个)。非常感谢,我在网上看到过类似的内容,但我有一个字段,用户可以通过从日历中选择来输入他们的出生日期,因此,我需要根据在该字段中选择的内容计算年龄,这是我不知道如何处理的部分。比如说,他们选择出生日期为2000年9月15日,我如何根据该字段中的值计算年龄?因为如果年龄超过20岁,那么我想以后做点什么。因此,我需要在用户输入该日期时获取该出生日期,然后计算您需要的人的年龄,以从日历字段中获取年
、月
和月
日字段,并将这些值放入上述代码中。请编辑您的问题并添加有关此字段的一些信息(类型、使用方式等)。欢迎提出Noob问题。所有的问题,无论是noob还是有经验的,都应该首先进行充分的搜索和研究,并且应该精确地描述他们所关注的数据类型(在本例中是您的输入)。在这种情况下,您可以向我们展示足够多的复制粘贴代码,供用户选择我们有起点的日期。@samuma我编辑了答案,以便它从字符串中解析日期。这就是你要找的吗?