diff --git a/java/tsfile/src/main/java/org/apache/tsfile/utils/DateUtils.java b/java/tsfile/src/main/java/org/apache/tsfile/utils/DateUtils.java index 474aca5f2..dc531baa8 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/utils/DateUtils.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/utils/DateUtils.java @@ -48,7 +48,7 @@ public static Integer parseDateExpressionToInt(String dateExpression) { throw new DateTimeParseException( "Invalid date format. Please use YYYY-MM-DD format.", dateExpression, 0); } - if (date.getYear() < 1000) { + if (date.getYear() < 1000 || date.getYear() > 9999) { throw new DateTimeParseException("Year must be between 1000 and 9999.", dateExpression, 0); } return date.getYear() * 10000 + date.getMonthValue() * 100 + date.getDayOfMonth(); @@ -58,7 +58,7 @@ public static Integer parseDateExpressionToInt(LocalDate localDate) { if (localDate == null) { throw new DateTimeParseException("Date expression is null or empty.", "", 0); } - if (localDate.getYear() < 1000) { + if (localDate.getYear() < 1000 || localDate.getYear() > 9999) { throw new DateTimeParseException( "Year must be between 1000 and 9999.", localDate.format(DateTimeFormatter.ISO_LOCAL_DATE),