Как проверить является ли строка датой в java?

Пользователь

от francisco.friesen , в категории: Java , 3 года назад

Как проверить является ли строка датой в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , 2 года назад

@francisco.friesen 

В Java есть несколько способов проверить является ли строка датой. Один из самых простых способов состоит в том, чтобы использовать класс java.text.SimpleDateFormat, чтобы преобразовать строку в объект java.util.Date и потом проверить, успешно ли это преобразование.


Например, чтобы проверить, является ли строка формата "dd.MM.yyyy" датой, можно использовать следующий код:

1
2
3
4
5
6
7
8
String dateString = "31.12.2021";
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
try {
  Date date = dateFormat.parse(dateString);
  System.out.println("Строка является датой");
} catch (ParseException e) {
  System.out.println("Строка не является датой");
}


Если строка успешно преобразуется в объект Date, значит, она является датой в нужном формате. Если же строка не может быть преобразована в дату, будет выброшено исключение ParseException, которое мы ловим в блоке catch.


Следует отметить, что класс SimpleDateFormat может быть нена

Пользователь

от willa_will , 2 года назад

@francisco.friesen 

В Java есть несколько способов проверить, является ли строка датой. Один из наиболее распространенных методов - использовать класс SimpleDateFormat для парсинга строки даты и проверки ее формата. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import java.text.SimpleDateFormat;

public class DateChecker {
    public static boolean isDate(String date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        try {
            dateFormat.parse(date.trim());
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}


В этом примере метод isDate() возвращает true, если переданная строка date может быть успешно преобразована в дату с помощью формата "yyyy-MM-dd", иначе возвращает false.


Если вам нужно проверить более сложный формат даты или время, вы можете изменить шаблон формата даты в соответствии с требованиями вашего приложения.