문제:
SimpleDateFormat 사용 시 날짜를 구문 분석하는 데 오류가 발생할 수 있습니다. "java.text.ParseException: 구문 분석할 수 없는 날짜", 특히 로케일이 지정되지 않은 경우.
설명:
SimpleDateFormat에서 날짜를 올바르게 구문 분석하려면 로케일이 필요합니다. 아무것도 지정하지 않으면 시스템의 기본 로캘을 사용하며 이는 구문 분석되는 형식과 일치하지 않을 수 있습니다.
해결책:
SimpleDateFormat dtfmt = new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.ENGLISH);
DateTimeFormatter를 사용한 데모:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a").withLocale(Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); // prints 2016-10-24T19:31 } }
참고:
위 내용은 SimpleDateFormat에서 '구문 분석할 수 없는 날짜'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!