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]