日期格式问题'dd.MM.yyyy'


private boolean isValidDateString(String value){  // value = "01.02.22"
if(value != null){
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
try{
Date parse = sdf.parse((String) value);
}catch (Exception e){
LOG.debug("Invalid date string : "+value);
return false;
}
}
return true;
}

这里它返回值"01.01.22"true。我必须显示错误消息,如";格式应该是"dd.MM.yyyy";,所以我需要为这样的字符串返回CCD_ 3的方法。我该如何获得?

这是您的方法,已更改为使用最新的java.time.format包。这将拒绝";01.01.22";,正如你所希望的那样,因为它需要4位数的年份。

所有新代码应使用java.time.*,并停止使用DateCalendarSimpleDateFormat

import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
private final var formatDDMMYYYY = DateTimeFormatter.ofPattern("dd.MM.yyyy");
private boolean isValidDateString(String value){  // value = "01.02.22" or null
if (value != null) {
try {
formatDDMMYYYY.parse(value);
} catch (DateTimeParseException e) {
LOG.debug("Invalid date string", e);
return false;
}
}
return true;
}

相关内容

  • 没有找到相关文章

最新更新