Skip to main content

Java 8 POO + Construções Funcionais

Page 13

9 O NOVO PACKAGE java.time TÓPICOS ■■ ■■ ■■

A nova API Date-Time; Referências UTC e Epoch; LocalTime, LocalDate e LocalDateTime;

■■ ■■ ■■

Instant, Period e Duration; ChronoUnit e ChronoField; Fusos horários: TimeZone e Offset.

9.1 INTRODUÇÃO A nova API Date-Time de Java 8 para datas, tempos, períodos, durações, instantes e fusos horários (JSR-310) está contida no package principal java.time e em quatro outros packages designados por java.time.chrono, java.time.format, java.time.temporal e java.time.zone, que apresentaremos em síntese na Tabela 9.1, depois de introduzirmos alguns conceitos fundamentais. O package principal, java.time, é retrocompatível com as antigas classes de java.util, designadamente, Calendar, GregorianCalendar, Date e TimeZone, mas torna estas antigas classes obsoletas. Só por si, java.time propõe 15 novas classes distintas e muitos métodos de classe e de instância que vêm substituir as antigas classes para datas e tempos. Esta nova biblioteca de Java 8 segue muitas das ideias do Projeto Joda-Time, que havia sido desenvolvido para versões anteriores a Java 8. Os utilizadores da biblioteca Joda-Time são agora convidados a migrar para java.time (JSR-310). É usado como formato standard para calendários o formato designado por sistema ISO-8601:2004, que é uma formalização proléptica do calendário Gregoriano designada por Calendário Gregoriano Proléptico. Tal significa que este calendário é correto mesmo para anos anteriores à sua criação (Papa Gregório XIII em 1582) e trata bem o problema dos 10 dias que deixaram de existir na Terra na transição entre o calendário Juliano (Júlio César, 46 a.C.) e o calendário Gregoriano. Este é o formato de calendário usado atualmente em SQL, em JDBC e na maioria de outros sistemas de gestão de bases de dados consistindo num verdadeiro standard universal. São igualmente suportados diversos calendários menos comuns, tais como o Chinês e o Thai Budista. As classes definidas neste package representam os principais conceitos relacionados com datas e tempos, designadamente datas, tempos, períodos, durações e instantes, e ainda com tempo local ou com zona horária ou fuso horário (time zone).

© FCA – EDITORA DE INFORMÁTICA

265


Turn static files into dynamic content formats.

Create a flipbook
Java 8 POO + Construções Funcionais by Grupo Lidel - Issuu