logo

Classe Java ZonedDateTime

A classe Java ZonedDateTime é uma representação imutável de uma data e hora com um fuso horário. Ele herda a classe Object e implementa a interface ChronoZonedDateTime.

A classe ZonedDateTime é usada para armazenar todos os campos de data e hora, com uma precisão de nanossegundos, e um fuso horário com um deslocamento de zona usado para lidar com datas e horas locais ambíguas.


Declaração de classe Java ZonedDateTime

Vamos ver a declaração da classe java.time.ZonedDateTime.

como converter de int para string em java
 public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime, Serializable 

Métodos de Java ZonedDateTime

Método Descrição
Formato de string (formatador DateTimeFormatter) É usado para formatar esta data e hora usando o formatador especificado.
int get(campoTemporalField) É usado para obter o valor do campo especificado desta data e hora como um int.
ZoneId getZone() É usado para obter o fuso horário, como 'Ásia/Kolkata'.
ZonedDateTime withZoneSameInstant (zona ZoneId) É utilizado para retornar uma cópia desta data-hora com fuso horário diferente, retendo o instante.
ZonedDateTime estático agora() É usado para obter a data e hora atuais do relógio do sistema no fuso horário padrão.
ZonedDateTime estático de (data LocalDate, hora LocalTime, zona ZoneId) É usado para obter uma instância de ZonedDateTime de uma data e hora local.
ZonedDateTime menos (long amountToSubtract, unidade TemporalUnit) É usado para retornar uma cópia desta data e hora com o valor especificado subtraído.
ZonedDateTime plus (long amountToAdd, unidade TemporalUnit) É usado para retornar uma cópia desta data e hora com o valor especificado adicionado.

Exemplo de classe Java ZonedDateTime

 import java.time.ZonedDateTime; public class ZonedDateTimeExample1{ public static void main(String[] args) { ZonedDateTime zone = ZonedDateTime.parse('2016-10-05T08:20:10+05:30[Asia/Kolkata]'); System.out.println(zone); } } 
Teste agora

Saída:

 2016-10-05T08:20:10+05:30[Asia/Kolkata] 

Classe Java ZonedDateTime Exemplo: of() e withZoneSameInstant()

 import java.time.*; public class ZonedDateTimeExample2{ public static void main(String[] args) { LocalDateTime ldt = LocalDateTime.of(2017, Month.JANUARY, 19, 15, 26); ZoneId india = ZoneId.of('Asia/Kolkata'); ZonedDateTime zone1 = ZonedDateTime.of(ldt, india); System.out.println('In India Central Time Zone: ' + zone1); ZoneId tokyo = ZoneId.of('Asia/Tokyo'); ZonedDateTime zone2 = zone1.withZoneSameInstant(tokyo); System.out.println('In Tokyo Central Time Zone:' + zone2); } } 
Teste agora

Saída:

 In India Central Time Zone: 2017-01-19T15:26+05:30[Asia/Kolkata] In Tokyo Central Time Zone:2017-01-19T18:56+09:00[Asia/Tokyo] 

Classe Java ZonedDateTime Exemplo: getZone()

 import java.time.ZonedDateTime; public class ZonedDateTimeExample3{ public static void main(String[] args) { ZonedDateTime zone =ZonedDateTime.now(); System.out.println(zone.getZone()); } } 
Teste agora

Saída:

 Asia/Kolkata 

Classe Java ZonedDateTime Exemplo: minus()

 import java.time.Period; import java.time.ZonedDateTime; public class ZonedDateTimeExample4 { public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime m = zone.minus(Period.ofDays(126)); System.out.println(m); } } 
Teste agora

Saída:

10 de 50,00
 2016-09-15T12:54:01.354+05:30[Asia/Kolkata] 

Classe Java ZonedDateTime Exemplo: plus()

 import java.time.*; public class ZonedDateTimeExample5{ public static void main(String[] args) { ZonedDateTime zone= ZonedDateTime.now(); ZonedDateTime p = zone.plus(Period.ofDays(126)); System.out.println(p); } } 
Teste agora

Saída:

 2017-05-25T12:56:12.417+05:30[Asia/Kolkata]