Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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中的localdate_Java_Localdate - Fatal编程技术网

检查Java中的localdate

检查Java中的localdate,java,localdate,Java,Localdate,我收到一个日期,我想检查它的格式是否正确(dd/MM/YYYY),我添加了一个要显示的错误,因为我知道我的日期是localDate类型。我发现了很多关于如何验证字符串日期而不是localdate的代码,如果有人有想法的话: 这是我目前所做的,它返回所有日期,即使格式正确 LocalDate mydate; final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/YYYY"); try {

我收到一个日期,我想检查它的格式是否正确(dd/MM/YYYY),我添加了一个要显示的错误,因为我知道我的日期是localDate类型。我发现了很多关于如何验证字符串日期而不是localdate的代码,如果有人有想法的话: 这是我目前所做的,它返回所有日期,即使格式正确

LocalDate mydate;
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/YYYY"); 
try {  
        String date = myDate.format(formatter);
        LocalDate.parse(date, formatter);
} 
catch (Exception e) { 
     errors.add(....));
} 
   

谢谢

推理似乎是循环的

您在LocalDate中有一个值(我想-尽管您没有显示myDate的任何初始化或赋值)

您要求将日期本身格式化为dd/mm/yyyy

然后要求LocalDate解析与dd/mm/yyyy相同的字符串


我不知道这两个怎么会失败。如果成功分配LocalDate,则转换为字符串肯定会成功。当然,对刚格式化的内容的解析也会起作用。

FYI:
“dd/MM/YYYY”
是一种糟糕的格式模式
Y
是基于周的年,您需要
u
哪个是年,所以使用
“dd/MM/uuu”
。请参阅文档,即javadoc of。您测试了
myDate
的哪些值?此外,
mydate
mydate
不是同一个变量,
d
之间的差异并不明显,不可否认。“它返回所有日期,即使格式正确”这意味着什么?1) 代码没有返回任何内容。2) 为什么您希望它不会以正确的格式“返回”日期的任何内容?您可能对
LocalDate
对象有误解。
LocalDate
对象是表示日期/月/年的对象。它本身没有格式;它只是一个日期值。检查
LocalDate
对象是否“具有正确的格式”是没有意义的,因为它根本没有格式。这就是为什么您没有找到验证
LocalDate
的代码。这是否回答了您的问题?