주어진 문자열이 지정된 날짜 형식을 준수하는지 확인하는 것은 Java에서 일반적인 작업입니다. . 이 기사에서는 정규식 솔루션을 사용하지 않고 이 문제를 해결하기 위한 두 가지 서로 다른 접근 방식을 제시합니다.
SimpleDateFormat 클래스는 이를 수행하기 위한 간단한 방법을 제공합니다. 구현 방법은 다음과 같습니다.
<code class="java">import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { String format = "dd/MM/yyyy"; String input = "20130925"; Date date = null; try { SimpleDateFormat sdf = new SimpleDateFormat(format); date = sdf.parse(input); if (!input.equals(sdf.format(date))) { date = null; } } catch (ParseException ex) { // Invalid date format } boolean isValid = date != null; System.out.println("Is valid: " + isValid); } }</code>
이 접근 방식에서는 SimpleDateFormat 인스턴스를 사용하여 입력 문자열을 구문 분석합니다. 구문 분석이 성공하고 결과 날짜가 원래 문자열과 일치하면 입력이 유효한 것으로 간주됩니다. 그렇지 않으면 유효하지 않은 것으로 간주됩니다.
Java 8 이상의 경우 Date-Time API의 도입으로 더욱 현대적이고 강력한 API를 제공합니다. 접근 방식:
<code class="java">import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.Locale; public class Main { public static void main(String[] args) { String format = "dd/MM/yyyy"; String input = "20130925"; Locale locale = Locale.ENGLISH; boolean isValid = isValidFormat(format, input, locale); System.out.println("Is valid: " + isValid); } public static boolean isValidFormat(String format, String input, Locale locale) { LocalDateTime ldt = null; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format, locale); try { ldt = LocalDateTime.parse(input, formatter); String result = ldt.format(formatter); return result.equals(input); } catch (DateTimeParseException e) { try { LocalDate ld = LocalDate.parse(input, formatter); String result = ld.format(formatter); return result.equals(input); } catch (DateTimeParseException ex) { try { LocalTime lt = LocalTime.parse(input, formatter); String result = lt.format(formatter); return result.equals(input); } catch (DateTimeParseException e2) { // Debugging purposes e2.printStackTrace(); } } } return false; } }</code>
이 솔루션은 Date-Time API의 고급 형식 지정 기능을 활용하여 보다 정확한 검사를 수행합니다. 날짜만, 시간만, 전체 날짜 및 시간 형식을 포함하여 다양한 입력 형식의 가능성을 고려합니다. isValidFormat 메소드를 사용하면 다양한 로케일에 대해 유연한 검사가 가능합니다.
이 두 가지 접근 방식은 문자열이 Java의 특정 날짜 형식을 준수하는지 확인하는 신뢰할 수 있는 솔루션을 제공합니다. 방법 선택은 사용되는 요구 사항과 Java 버전에 따라 다릅니다.
위 내용은 문자열이 Java의 특정 날짜 형식과 일치하는지 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!