"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java의 시간대 전환을 효과적으로 처리하는 방법은 무엇입니까?

Java의 시간대 전환을 효과적으로 처리하는 방법은 무엇입니까?

2025-02-06에 게시되었습니다
검색:387

How to Effectively Handle Time Zone Conversions in Java?

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);

How to Effectively Handle Time Zone Conversions in Java?
결론

는 java.time 또는 joda-time을 수용하여 정확하고 일관성을 보장하고 일정 할 수 있습니다. 여러 시간 영역에서 날짜 및 시간 처리.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3