> Java > java지도 시간 > Java Date API에서 '2010-10-02T12:23:23Z'를 구문 분석하면 '잘못된 패턴 문자 'T''가 발생하는 이유는 무엇입니까?

Java Date API에서 '2010-10-02T12:23:23Z'를 구문 분석하면 '잘못된 패턴 문자 'T''가 발생하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-08 20:58:18
원래의
646명이 탐색했습니다.

Why Does Parsing

날짜 문자열을 java.util.Date로 구문 분석하는 동안 잘못된 패턴 문자 'T'가 발생합니다

질문:

다음과 같은 날짜 문자열을 구문 분석하려고 할 때 Java Date API를 사용하는 "2010-10-02T12:23:23Z"에서는 "java.lang.IllegalArgumentException: 잘못된 패턴 문자 'T'"라는 예외가 발생합니다. 왜 이런 일이 발생하며, 문자열을 수동으로 분할하고 구문 분석해야 합니까?

답변:

문자열에서 시간을 나타내는 'T' 문자 구분 기호가 문제의 원인입니다. 이 문제를 해결하려면 패턴 문자열에서 'T' 문자를 작은따옴표('')로 이스케이프해야 합니다. 올바른 패턴은 "yyyy-MM-dd'T'hh:mm:ssZ"여야 합니다.

예:

String date = "2010-10-02T12:23:23Z";
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
    Date d = sdf.parse(date);
    System.out.println(d.getYear());
} catch (ParseException e) {
    e.printStackTrace();
}
로그인 후 복사

또는 Java 8 이상의 경우 다음을 수행하는 것이 좋습니다. 대신 날짜 구문 분석에 더욱 강력하고 현대적인 접근 방식을 제공하는 Instant.parse를 사용하세요.

Instant.parse("2015-04-28T14:23:38.521Z")
로그인 후 복사

위 내용은 Java Date API에서 '2010-10-02T12:23:23Z'를 구문 분석하면 '잘못된 패턴 문자 'T''가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿