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