以特定格式在java中输入日期

萨拉斯旺·辛哈

我需要在 Java 中制作一个程序,以这种格式将日期作为输入 - “dd-mm-yyyy”。除此之外的任何事情都被认为是无效的。我知道 java 有一个 LocalDateTime API 和一个 DateTimeFormatter API。但是,它们用于在输入后将日期解析为特定格式。有什么办法可以只以指定的格式获取日期输入,而不是在输入后解析它?我对这些 API 很陌生并且正在学习,任何帮助将不胜感激。提前致谢。

import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.*;

import javax.swing.text.DateFormatter;
public class Voter_eligibility {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc= new Scanner(System.in);
        
        DateTimeFormatter dob_format = DateTimeFormatter.ofPattern("dd-mm-uuuu");
        
        String input = sc.nextLine();
        
        LocalDate dob = LocalDate.parse(input,dob_format);
        
        
        
        System.out.println(dob);
        
        
        
        
        }
        

}

这就是我所做的。但它给出了一个例外。

19-08-1999
Exception in thread "main" java.time.format.DateTimeParseException: Text '19-08-1999' could not be parsed at index 3
    at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2051)
    at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1953)
    at java.base/java.time.LocalDate.parse(LocalDate.java:429)
    at Voter_eligibility.main(Voter_eligibility.java:17)
迈克

DateTimeFormatter中的月份与大写M而不是小写一起使用m,因此您的代码应该是:

DateTimeFormatter dob_format = DateTimeFormatter.ofPattern("dd-MM-uuuu");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章