>Java >java지도 시간 >Java에서 날짜를 구문 분석하고 \'java.text.ParseException: 구문 분석할 수 없는 날짜\' 오류를 해결하는 방법은 무엇입니까?

Java에서 날짜를 구문 분석하고 \'java.text.ParseException: 구문 분석할 수 없는 날짜\' 오류를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-19 19:26:02938검색

How to Parse Dates in Java and Resolve the

Java로 날짜 구문 분석: "java.text.ParseException: Unparseable date" 문제 해결

Java에서 날짜 문자열을 구문 분석하려고 할 때 , 날짜 형식 패턴이 입력 문자열과 정확하게 일치하는지 확인하는 것이 중요합니다. 귀하의 경우 "java.text.ParseException: Unparseable date" 예외는 패턴과 입력 간의 불일치를 나타냅니다.

원래 패턴인 "MMM d, yyyy HH:mm:ss"는 날짜는 "2013년 6월 1일 12:53:10" 형식입니다. 그러나 입력 문자열에는 요일을 나타내는 "Sat"와 시간대를 나타내는 "IST"와 같은 추가 정보가 포함되어 있습니다.

해결책:

해결 방법 이 문제에서는 입력 문자열과 정확하게 일치하도록 날짜 형식 패턴을 업데이트하세요. 수정된 패턴은 다음과 같습니다.

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);

이 패턴에는 다음이 포함됩니다.

  • EE: 요일(예: "Sat")
  • MMM: Three- 문자 월 약어(예: "Jun")
  • dd: 날짜(예: "01")
  • HH: 24시간 형식 시(예: "12")
  • mm: 분(예: "53")
  • ss: 초(예: "10")
  • z: 시간대 약어(예: "IST")
  • yyyy: 연도(예: "2013")

원하는 형식 인쇄:

올바른 형식을 사용하여 날짜가 성공적으로 구문 분석되면 패턴을 사용하면 별도의 SimpleDateFormat 인스턴스를 사용하여 원하는 출력 형식을 얻을 수 있습니다.

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));

참고:

  • 로케일 관련 문제를 방지하려면 명시적으로 지정하십시오. 구문 분석에 사용되는 SimpleDateFormat의 로케일인 Locale.ENGLISH.
  • 입력 문자열에 "IST"와 같은 모호한 시간대 약어가 포함된 경우 전체 시간대 이름을 대신 포함하는 것이 좋습니다.

위 내용은 Java에서 날짜를 구문 분석하고 'java.text.ParseException: 구문 분석할 수 없는 날짜' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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