문제 소개:
SimpleDateFormat을 사용하여 "YYYY-MM-dd HH:mm" 형식의 문자열을 구문 분석하려고 하면 사용자에게 잘못된 날짜 및 시간 결과가 나타날 수 있습니다. 특히, 구문 분석된 날짜가 예상 날짜와 일치하지 않을 수 있습니다.
질문:
SimpleDateFormat이 "YYYY-MM-dd HH:mm"의 날짜를 잘못 구문 분석하는 이유는 무엇입니까? 체재? 이 문제를 어떻게 해결할 수 있습니까?
답변:
SimpleDateFormat은 대소문자 구분 패턴 문자를 사용하여 입력 문자열을 구문 분석합니다. 연도 형식의 경우 "YYYY"는 앞에 0이 있는 전체 연도를 나타내고, 소문자 "yyyy"는 앞에 0이 없는 연도를 나타냅니다. 제공된 코드에서 패턴 문자 "YYYY"가 잘못 사용되어 예상치 못한 날짜 구문 분석이 발생했습니다.
해결책:
날짜와 시간을 올바르게 구문 분석하려면 다음을 사용하세요. 패턴의 소문자 "yyyy":
<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
이 수정을 통해 코드는 문제 없이 예상 형식으로 날짜를 구문 분석합니다.
추가 고려 사항:
SimpleDateFormat을 사용할 때 패턴 문자를 주의 깊게 확인하여 원하는 형식과 일치하는지 확인하세요. 패턴 문자 및 해당 날짜/시간 형식의 전체 목록은 Java API 문서를 참조하세요.
데이터베이스 업데이트:
시간이 다음으로 재설정되는 문제에 관해 00:00 데이터베이스에서 날짜를 업데이트할 때 데이터베이스 열 데이터 유형과 Java 날짜 객체의 시간 구성 요소가 호환되는지 확인하세요. 데이터베이스 열에 날짜만 저장되는 경우 삽입 시 Java 개체의 시간 구성 요소가 무시됩니다.
위 내용은 SimpleDateFormat이 \'YYYY-MM-dd HH:mm\' 형식의 날짜를 잘못 구문 분석하는 이유는 무엇이며 이 문제를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!