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

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

Linda Hamilton
Linda Hamilton원래의
2024-12-08 20:58:18619검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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