Tecnologia > Manual de Instalação > Instalação > Passo a passo para a instalação do Servidor de Aplicativos > Configurações de Produto > Gestão de Pessoas > Conversão Joda-Time para Java.Time

Conversão Joda-Time para Java.Time

O Joda-Time foi uma biblioteca utilizada para a manipulação de datas e horas em Java antes da introdução do pacote java.time na versão Java 8. Com a introdução do java.time, muitas das funcionalidades oferecidas pelo Joda-Time foram integradas e melhoradas, tornando-o obsoleto e, por isso, a Senior utiliza o Java.Time, que oferece melhores recursos para realizar a manipulação das datas e horas.

Principais Métodos do Joda-Time e suas contrapartes em java.time

Em Joda-Time Em Java Time Descrição
DateTime.now() LocalDateTime.now() Obtém a data e hora atual.
DateTime.parse("2023-06-18") LocalDateTime.parse("2023-06-18T00:00:00") Converte uma string para um objeto de data e hora.
new DateTime(2023, 6, 18, 0, 0) LocalDateTime.of(2023, 6, 18, 0, 0) Cria um objeto de data e hora com valores específicos.
new LocalDate(2023, 6, 18) LocalDate.of(2023, 6, 18) Cria um objeto de data com valores específicos.
new LocalTime(10, 15, 30) LocalTime.of(10, 15, 30) Cria um objeto de hora com valores específicos.
DateTime.now().plusDays(5) LocalDateTime.now().plusDays(5) Adiciona dias à data e hora atual.
DateTime.now().minusDays(5) LocalDateTime.now().minusDays(5) Subtrai dias da data e hora atual.
Days.daysBetween(date1, date2).getDays() ChronoUnit.DAYS.between(date1, date2) Calcula a diferença em dias entre duas datas.
Months.monthsBetween(date1, date2).getMonths() ChronoUnit.MONTHS.between(date1, date2) Calcula a diferença em meses entre duas datas.
Years.yearsBetween(date1, date2).getYears() ChronoUnit.YEARS.between(date1, date2) Calcula a diferença em anos entre duas datas.
DateTime.toDate() LocalDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() Converte para java.util.Date.
new DateTime(new Date()) LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault()) Converte de java.util.Date.
DateTime.withDayOfMonth(1) LocalDateTime.withDayOfMonth(1) Define o dia do mês para o primeiro dia do mês.
DateTime.withDayOfWeek(1) LocalDateTime.with(ChronoField.DAY_OF_WEEK, 1) Define o dia da semana para segunda-feira.
Minutes.minutesBetween(start, end) Duration.between(start, end); Calcula a diferença em minutos entre 2 datas.
contextoApuracao.getData().getDayOfWeek() contextoApuracao.getData().getDayOfWeek().getValue() O metodo retorna um integer em Joda, com a alteração para java.time ele retorna um object, com isso é necessario adicionar um .getValue() para pegar a informação em integer.

Nos casos que são utilizados o ZoneId.systemDefault(), são retornados os fusos horários padrões do sistema no qual a aplicação está sendo executada. Sendo possível utilizar outros como:

Exemplos de conversão

Nova Instância

Diferença entre dias

Este artigo ajudou você?