>Java >java지도 시간 >java.util.Date를 java.time\의 Instant, OffsetDateTime 또는 ZonedDateTime으로 어떻게 변환합니까?

java.util.Date를 java.time\의 Instant, OffsetDateTime 또는 ZonedDateTime으로 어떻게 변환합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-03 11:24:29722검색

How do I convert java.util.Date to java.time's Instant, OffsetDateTime, or ZonedDateTime?

java.util.Date를 java.time의 Instant, OffsetDateTime 또는 ZonedDateTime으로 변환

최신 java.time 프레임워크로 마이그레이션 , 레거시 java.util.Date 객체를 적절한 java.time 유형으로 변환하는 방법을 아는 것이 중요합니다. 동등한 항목에 대한 요약은 다음과 같습니다.

java.util.Date에서 Instant

둘 다 UTC의 순간을 나타내므로 변환이 간단합니다.

<code class="java">Instant instant = myUtilDate.toInstant();

java.util.Date myUtilDate = java.util.Date.from(instant);</code>

java.util.Date를 java.time의 OffsetDateTime 또는 ZonedDateTime으로

이러한 유형은 시간대 정보를 포함하므로 레거시 Date에서 시간대를 추출해야 합니다.

<code class="java">// If the legacy date is a GregorianCalendar (which can hold time zone info)
if (myUtilCalendar instanceof GregorianCalendar) {
    GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
    ZonedDateTime zdt = gregCal.toZonedDateTime(); // ZonedDateTime with time zone

    java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);
}</code>

추가 변환 매핑

Legacy Type java.time Equivalent Additional Notes
java.util.Calendar Instant Converts to the start of the day in UTC
java.util.GregorianCalendar ZonedDateTime Retains time zone information
java.util.LocalDate ZonedDateTime Requires a time zone to determine the date
java.util.LocalTime Instant Converts to the start of the day in UTC
java.util.LocalDateTime ZonedDateTime Requires a time zone to determine the date and time

중요 고려 사항

  • java.util.Date에서 java.time 유형은 레거시 클래스에서 나노초 해상도를 지원하지 않으므로 정밀도가 손실될 수 있습니다.
  • OffsetDateTime 또는 ZonedDateTime으로 변환할 때 올바른 해석을 위해 시간대 정보를 유지해야 합니다.
  • 정확도와 일관성을 높이기 위해 새 코드에 java.time 유형을 사용하는 것이 좋습니다.

위 내용은 java.util.Date를 java.time\의 Instant, OffsetDateTime 또는 ZonedDateTime으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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