java.util.date 클래스에는 명시적인 시간대 할당이 부족합니다. ToString 방법은 JVM의 기본 시간대를 잘못 적용하여 혼란을 초래합니다. 이러한 함정을 피하기 위해 Modern Java는보다 강력한 시간 처리를 위해 Java.Time 패키지를 사용합니다.
java.time 및 joda-time
Java 8은 Java를 소개했습니다. Joda-Time에서 비롯된 시간 패키지, 시간대 운영에 직관적 인 기능을 제공합니다. 두 프레임 워크 모두 유사한 방법을 제공하지만 특히 Java.Time은 생성자 대신 정적 인스턴스화 방법을 사용합니다.
는 java.time에서 시간 영역을 변환하고 시간대를 지정하고 ZonedDateTime.now 방법을 호출합니다. 그 후, 기존의 불변의 인스턴스를 기반으로 새 인스턴스를 만들어 시간대를 조정하십시오. 이 과정에는 일광 절약 시간 규칙과 UTC의 오프셋을 포함하여 명명 된 시간대를 사용하는 것이 포함됩니다. ZonedDateTime Nowmontréal = ZonedDateTime.now (Zonemontréal); Zoneid Zonetokyo = Zoneid.of ( "아시아/도쿄"); ZonedDateTime nowtokyo = nowmontréal.withzonesameinstant (Zonetokyo); ZONEDDATETIME nowutc = nowmontréal.withzonesameInstant (ZoneOffset.utc);
joda-time 예
ZoneId zoneMontréal = ZoneId.of("America/Montreal"); ZonedDateTime nowMontréal = ZonedDateTime.now ( zoneMontréal ); ZoneId zoneTokyo = ZoneId.of("Asia/Tokyo"); ZonedDateTime nowTokyo = nowMontréal.withZoneSameInstant( zoneTokyo ); ZonedDateTime nowUtc = nowMontréal.withZoneSameInstant( ZoneOffset.UTC );
ZoneId zoneMontréal = ZoneId.of("America/Montreal"); ZonedDateTime nowMontréal = ZonedDateTime.now ( zoneMontréal ); ZoneId zoneTokyo = ZoneId.of("Asia/Tokyo"); ZonedDateTime nowTokyo = nowMontréal.withZoneSameInstant( zoneTokyo ); ZonedDateTime nowUtc = nowMontréal.withZoneSameInstant( ZoneOffset.UTC );
적절한 시간대를 수동으로 할당하는 객체. 이것은 정확한 시간 표현 및 변환을 보장합니다. dateTimezone TimezonElondon = dateTimezone.forid ( "Europe/London"); dateTime nowlondon = dateTime.now (TimezonElondon); dateTime nowkolkata = nowlondon.withzone (Timezonekolkata); dateTime nownewyork = nowlondon.withzone (timezonenewyork);
결론
는 java.time 또는 joda-time을 수용하여 정확하고 일관성을 보장하고 일정 할 수 있습니다. 여러 시간 영역에서 날짜 및 시간 처리.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3