Чтобы проверить формат даты ввода в Java, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
-
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."); } -
Регулярные выражения.
Вы также можете использовать регулярные выражения для проверки формата входной даты. Определите шаблон регулярного выражения, соответствующий желаемому формату, а затем используйте метод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."); } -
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."); }