잘못된 문자가 포함된 날짜 문자열 구문 분석
SimpleDateFormat을 사용하여 Java에서 날짜 문자열을 구문 분석하려고 하면 "잘못된 패턴" 예외가 발생할 수 있습니다. 문자 'T'". 이 문제는 날짜 문자열에 ISO 8601 표준을 따를 때 시간 구성 요소를 지정하는 'T' 문자가 포함되어 있을 때 발생합니다.
예외 원인
SimpleDateFormat 클래스는 'T'를 문자열의 날짜와 시간 부분을 구분하는 특수 문자로 해석합니다. 그러나 기본 패턴에는 'T' 문자가 포함되어 있지 않아 예외가 발생합니다.
가능한 해결 방법
이 문제를 해결하는 방법에는 여러 가지가 있습니다.
수정 패턴:
DateTimeFormatter 사용(Java 8 ):
예:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"); Date date = formatter.parse("2010-10-02T12:23:23Z", LocalDateTime::from);
수동 문자열 분할:
참고:
날짜 문자열에 UTC를 나타내는 후행 'Z'가 포함된 경우 시간이 지나면 패턴의 'XXX' 부분이 포함되어 있는지 확인하세요.
개선됨 코드 샘플(이스케이프된 'T' 포함):
public static void main(String[] args) { String date = "2010-10-02T12:23:23Z"; String pattern = "yyyy-MM-dd'T'hh:mm:ssXXX"; SimpleDateFormat sdf = new SimpleDateFormat(pattern); try { Date d = sdf.parse(date); System.out.println(d.getYear()); } catch (ParseException e) { e.printStackTrace(); } }
위 내용은 Java에서 날짜를 구문 분석할 때 '잘못된 패턴 문자 'T''를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!