| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.Period; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.format.DateTimeParseException; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | LocalDate date = LocalDate.of(year, month, 1); // 创建一个日期对象,年份和月份为指定值,日期为1号 |
| | | return date.lengthOfMonth(); // 返回该月的天数 |
| | | } |
| | | private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | |
| | | public static boolean isValidDate(String dateStr) { |
| | | // ✅ 关键修复:先彻底去除前后空白(包括空格、制表符、换行) |
| | | if (dateStr == null || dateStr.isEmpty()) { |
| | | return true; |
| | | } |
| | | |
| | | // 去掉所有空白后再校验 |
| | | String cleanDate = dateStr.trim(); |
| | | |
| | | try { |
| | | LocalDate.parse(cleanDate, DATE_FORMATTER); |
| | | return true; |
| | | } catch (DateTimeParseException e) { |
| | | return false; |
| | | } |
| | | } |
| | | private static Map<String, SimpleDateFormat> formats = new HashMap(); |
| | | public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss"; |
| | | public static final String DATE_FORMATE_STRING_A = "yyyy-MM-dd HH:mm:ss"; |