>  기사  >  Java  >  `java.time`이 날짜 문자열의 초 단위 값을 구문 분석할 수 있습니까?

`java.time`이 날짜 문자열의 초 단위 값을 구문 분석할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 22:26:02406검색

 Can `java.time` Parse Fraction-of-Second Values in Date Strings?

java.time이 초 단위 구문 분석에 실패합니까?

Java 8의 java.time 패키지가 입력을 구문 분석하는 데 어려움을 겪습니다. DateTimeFormatter 클래스를 사용할 때 초 단위 구성 요소가 있는 문자열입니다. "yyyyMMddHHmmssSS" 형식 패턴을 사용하여 "2011120312345655"와 같은 문자열을 구문 분석하려고 하면 "SS"가 초 단위 값을 나타내야 한다는 문서가 나와 있음에도 불구하고 DateTimeParseException이 발생합니다.

해결 방법 이전 Java 9

Java 9 이전에 해결 방법이 제안되었습니다.

<code class="java">DateTimeFormatter dtf = 
  new DateTimeFormatterBuilder()
  .appendPattern("yyyyMMddHHmmss")
  .appendValue(ChronoField.MILLI_OF_SECOND, 3)
  .toFormatter();</code>

그러나 이 해결 방법은 다음 사용 사례를 처리할 수 없기 때문에 문제를 완전히 해결하지 못합니다. 단 두 개의 패턴 기호, "SS". 다른 필드나 외부 라이브러리를 사용하는 대체 솔루션도 제안되었습니다.

Java 9>

이 문제와 관련된 JDK 문제는 해결됨으로 표시되었습니다. Java 9. 이는 이 버전에서 java.time 패키지의 초 단위 값을 구문 분석하는 기능이 향상되었음을 나타냅니다.

위 내용은 `java.time`이 날짜 문자열의 초 단위 값을 구문 분석할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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