Java 날짜 구문 분석 예외: "구문 분석할 수 없는 날짜"
SimpleDateFormat을 사용하여 날짜를 구문 분석하려고 하면 "구문 분석할 수 없는 날짜"가 나타날 수 있습니다. 예외. 이 오류는 제공된 날짜 문자열이 지정된 날짜 형식과 일치하지 않을 때 발생합니다.
이 특정 인스턴스에서 제공된 코드는 다음 형식을 사용하여 "Wed, 09 Feb 2011 12:34:27" 날짜를 구문 분석하려고 시도합니다. "EEE, dd MMM yyyy HH:mm:ss". 실행 시 날짜를 파싱할 수 없다는 예외가 발생합니다.
이 문제의 원인은 파싱에 사용된 로캘에 있습니다. 기본적으로 Java는 예상되는 영어 로케일과 다를 수 있는 시스템 로케일을 사용합니다. 결과적으로 SimpleDateFormat에 사용된 패턴이 현재 로케일의 날짜 형식 지정 규칙과 일치하지 않을 수 있습니다.
이 문제를 해결하려면 SimpleDateFormat 인스턴스를 생성할 때 로케일을 명시적으로 지정하는 것이 좋습니다. 이렇게 하면 올바른 형식 지정 규칙이 적용됩니다.
import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; ... SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
Locale.ENGLISH를 지정하면 형식 지정 도구가 입력 날짜 문자열 형식과 일치하는 영어 형식 지정 규칙을 사용합니다. 이렇게 하면 "분석할 수 없는 날짜" 예외가 발생하지 않고 날짜를 성공적으로 구문 분석할 수 있습니다.
위 내용은 내 Java SimpleDateFormat에서 '구문 분석할 수 없는 날짜' 예외가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!