Java SimpleDateFormat이 월에 대해 일관되게 1월을 반환합니다
Active Directory의 날짜를 Java 날짜로 변환하려고 하면 결과에 일관되게 다음이 표시됩니다. 입력 문자열에 올바른 월이 지정되었음에도 불구하고 월은 1월로 표시됩니다. 이 문제는 SimpleDateFormat에서 사용하는 날짜 형식에 대한 오해에서 비롯됩니다.
변환을 담당하는 문제가 있는 방법은 다음과 같습니다.
<code class="java">private Date getParsedDate(String givenString) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD"); Date parsedDate = sdf.parse(givenString); return parsedDate; }</code>
이 방법에서 SimpleDateFormat은 각각 연도, 월, 일을 나타내는 "yyyy/MM/DD" 패턴입니다. 그러나 Active Directory의 입력 문자열은 "yyyyMMddHHmmss.SSS"라는 다른 형식을 따릅니다. 문제가 되는 부분은 월 표현으로, 대문자 "MM" 대신 소문자 "mm"이어야 합니다.
이 문제를 해결하려면 SimpleDateFormat 생성자의 패턴 문자열을 "yyyy/mm/dd로 변경해야 합니다. ":
<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");</code>
이 변경으로 Java SimpleDateFormat은 주어진 문자열을 올바른 월 값을 가진 Java Date 객체로 올바르게 변환합니다.
위 내용은 Java SimpleDateFormat이 월별 1월을 일관되게 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!