日期校验工具类代码:
private static final DateTimeFormatter format = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM")
.parseDefaulting(ChronoField.DAY_OF_MONTH,1)
.toFormatter();
public static boolean validDate(String date) {
try {
LocalDate.parse(date,format);
return true;
} catch (Exception e) {
return false;
}
}
经过JMH基准测试,在性能上,并发量可达200万QPS,比传统的SimpleDateFormat快130万QPS,而且由于线程安全的特性,不需要频繁创建对象,减轻JVM的负担,还避免了需要在自己的代码中判断字符串长度和转换是否相等的尴尬情况,使代码更整洁