Conversão do fuso horário em zonas horárias
em java, a conversão dos fusos horários é essencial para lidar com manipulações de data e hora envolvendo zonas horários. Enquanto convertendo do fuso horário atual para outro é direto usando técnicas como data e calendário, as conversões transversais do zone além do fuso horário atual podem representar desafios. &&&]
a classe java.util.date não possui atribuição explícita de fuso horário. Seu método de tostragem aplica enganosamente o fuso horário padrão da JVM, levando à confusão. Para evitar essas armadilhas, o Java Modern utiliza o pacote Java.Time para um manuseio de tempo mais robusto. Pacote de tempo, decorrente do Joda-Time, fornecendo funcionalidade intuitiva para operações de fuso horário. Ambas as estruturas oferecem métodos semelhantes, mas adotam abordagens distintas, principalmente, o Java.Time emprega métodos de instanciação estática em vez de construtores. Posteriormente, crie uma nova instância baseada na antiga instância imutável para ajustar para fusos horários. O processo envolve a utilização de fusos horários nomeados, incluindo as regras do horário de verão e compensações da UTC. por exemplo:
zoneid zonentréal = zoneid.of ("America/Montreal"); ZonedDateTime NowOntréal = zonedDateTime.now (zonemontréal); Zoneid zonetokyo = zoneid.of ("Ásia/Tóquio"); ZonedDateTime nowtokyo = agoraMOntréal.withZonesameInstant (Zonetokyo); ZONENDDATETIME Nowutc = agoraMOntréal.withZonesameInstant (zoneoffset.utc);
joda-the Exemplo
se estiver usando o Joda-time, obtenha os fusos horários usando DatETimeZONE.IDE objetos atribuindo fusos horários apropriados manualmente. Isso garante uma representação e conversões precisas do tempo. DateTime NowLondon = DateTime.now (timeZonelondon); DateTime Nowkolkata = agoralondon.withzone (TimeZoneKolkata); DATETIMENTE NOWNOWYORK = agoralondon.withZone (timeZoneNewyork);
conclusão
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 );
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3