Проверка формата даты Java: методы проверки формата входной даты

Чтобы проверить формат даты ввода в Java, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:

  1. SimpleDateFormat:
    Вы можете использовать класс SimpleDateFormat, чтобы определить ожидаемый формат даты, а затем проанализировать входную дату, используя этот формат. Если анализ прошел успешно, это означает, что введенная дата соответствует ожидаемому формату.

    Пример кода:

    String inputDate = "2022-01-01";
    String expectedFormat = "yyyy-MM-dd";
    SimpleDateFormat dateFormat = new SimpleDateFormat(expectedFormat);
    dateFormat.setLenient(false);
    try {
       Date parsedDate = dateFormat.parse(inputDate);
       System.out.println("Input date is in the correct format.");
    } catch (ParseException e) {
       System.out.println("Input date is not in the correct format.");
    }
  2. Регулярные выражения.
    Вы также можете использовать регулярные выражения для проверки формата входной даты. Определите шаблон регулярного выражения, соответствующий желаемому формату, а затем используйте метод matches()класса String, чтобы проверить, соответствует ли введенная дата шаблону.

    Пример кода:

    String inputDate = "2022-01-01";
    String expectedPattern = "\\d{4}-\\d{2}-\\d{2}";
    if (inputDate.matches(expectedPattern)) {
       System.out.println("Input date is in the correct format.");
    } else {
       System.out.println("Input date is not in the correct format.");
    }
  3. Java 8 DateTimeFormatter:
    Если вы используете Java 8 или более позднюю версию, вы можете использовать класс DateTimeFormatterиз пакета java.time.formatдля проверки формата входной даты.

    Пример кода:

    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    import java.time.format.DateTimeParseException;
    String inputDate = "2022-01-01";
    String expectedFormat = "yyyy-MM-dd";
    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(expectedFormat);
    try {
       LocalDate.parse(inputDate, dateFormatter);
       System.out.println("Input date is in the correct format.");
    } catch (DateTimeParseException e) {
       System.out.println("Input date is not in the correct format.");
    }