Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中检查日历中的年龄_Java_Date_Date Difference_Date Of Birth - Fatal编程技术网

在Java中检查日历中的年龄

在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)选择他们的出生日期。然后根据这个值,我想计算他们的年龄,因为如果

我的应用程序中有一个名为date of birth的字段,上面有一个日历,你可以选择出生日期。是否有一种方法可以根据在该字段中选择的值验证一个人的年龄,比如说他们是否为20岁或更大? 我对java非常陌生,正在自学,所以我真的很迷茫,如果有人能给我指出一些有用的东西,这将是非常棒的,我正在考虑一个if-else语句,但不知道如何做,任何建议、提示、链接或教程都将不胜感激,谢谢


类型是日期。因此,用户以这种格式(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我编辑了答案,以便它从
字符串中解析日期。这就是你要找的吗?