>Java >java지도 시간 >SimpleDateFormat을 사용하여 여러 형식의 날짜를 효율적으로 구문 분석하려면 어떻게 해야 합니까?

SimpleDateFormat을 사용하여 여러 형식의 날짜를 효율적으로 구문 분석하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-23 16:03:17854검색

How Can I Efficiently Parse Dates with Multiple Formats Using SimpleDateFormat?

SimpleDateFormat을 사용하여 다양한 형식의 날짜 구문 분석

사용자 입력에서 날짜를 구문 분석할 때 다양한 형식을 접하는 것이 일반적입니다. 특히 SimpleDateFormat의 우선순위 규칙을 고려하면 이러한 변형을 처리하는 것이 어려울 수 있습니다.

이 문제를 해결하려면 각 고유 형식에 대해 별도의 SimpleDateFormat 개체를 사용하세요. 과도한 코드 중복이 필요한 것처럼 보일 수도 있지만 SimpleDateFormat의 숫자 형식 지정 규칙의 유연성으로 인해 보다 간결한 접근 방식이 가능해졌습니다.

예를 들어 다음 날짜를 고려해보세요. 형식:

  • 9/09
  • 9/2009
  • 09/20 09
  • 2009년 9월 1일
  • 2009년 9월 1일

이것 세 가지 범주로 그룹화할 수 있습니다:

  • M/y(처음 3개 포함)
  • M/d/y(네 번째를 나타냄)
  • M-d-y(for 다섯째)

다음 방법은 구현:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class DateParser {

  private static List<String> FORMAT_STRINGS = Arrays.asList("M/y", "M/d/y", "M-d-y");

  public static Date parse(String dateString) {
    for (String formatString : FORMAT_STRINGS) {
      try {
        return new SimpleDateFormat(formatString).parse(dateString);
      } catch (ParseException e) {
        // Ignore parse exceptions and continue to the next format
      }
    }

    return null; // If no formats match, return null
  }
}

이러한 방식으로 과도하게 중첩된 try/catch 블록이나 코드 중복 없이 다양한 날짜 형식을 처리할 수 있습니다.

위 내용은 SimpleDateFormat을 사용하여 여러 형식의 날짜를 효율적으로 구문 분석하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.