Trabalho com datas em Java 8

Índice
Trabalhar com datas sempre foi um momento decisivo na carreira dos programadores. Isso ocorre em parte porque nas versões anteriores do Java era um pouco confuso e inconsistente. No entanto, na nova versão um API que nos permite obter o máximo da linguagem com métodos mais claros e fáceis de usar.
Isso torna o trabalho com formatos de data e hora em Java não seja uma tortura. Para isso, devemos estudar as novas formas e possibilidades que a linguagem nos oferece, com o objetivo de transformar um dos pontos que mais confunde, em algo que dominamos adequadamente.
Para simplificar o trabalho, a equipe de desenvolvimento da Java nos forneceu uma série de métodos comuns que podemos usar, tanto ao trabalhar com datas, como quando trabalhamos com horas. Isso diminui o esforço de aprendizagem por ter um comportamento semelhante para os dois tipos de objetos.
Listaremos a seguir alguns dos métodos que mais se destacam junto com uma pequena explicação de para que podemos utilizá-los, com isso podemos ter uma ideia geral quando passarmos para a parte prática mais tarde.
noEste método nos permite fazer uma combinação do objeto que o invoca com outro objeto.
formatoEle nos permite usar alguns parâmetros para produzir como resultado uma data ou hora com um formato específico de que precisamos.
obterPermite-nos obter um elemento que especificamos.
éPermite-nos validar se um objeto é do tipo com o qual fazemos a comparação.
maisDá-nos a possibilidade de adicionar uma adição ao objeto que o invoca e devolver uma cópia com o valor já adicionado.
paraIsso nos permite fazer uma conversão de um tipo para outro.
Agora, com esse conhecimento, podemos passar para outras questões dentro deste mesmo assunto de datas e horas em Java.
Como temos explicado os formulários que são usados ​​em Java Agora que mudaram para a nova versão, por isso, para repetir os exemplos que daremos, precisamos da versão 8 do kit de desenvolvimento de linguagem, caso contrário, receberemos um erro como o seguinte:

Esclarecido o ponto, vamos ver a seguir o que devemos fazer para obter as informações do data e hora atuais em Java.
Para isso, vamos criar uma classe na qual vamos instanciar objetos do tipo LocalDate, Horário local Y LocalDateTime. Cada um deles nos dará, respectivamente, a data atual, a hora atual e a data e hora atuais.
Isso é muito útil em casos como registros do sistema, onde devemos capturar o momento preciso em que uma ação é realizada ou ocorre um evento que temos interesse em registrar. Para atingir o objetivo, podemos fazer um código semelhante ao seguinte:
 import java.time. *; public class CurrentDate {public static void main (String [] args) {LocalDate currentDate = LocalDate.now (); System.out.println (currentDate); LocalTime currentTime = LocalTime.now (); System.out.println (currentTime); LocalDateTime agora = LocalDateTime.now (); System.out.println (agora); }} 

Como podemos ver, tudo o que fazemos é declarar nossos objetos dos tipos mencionados acima e atribuir a eles o valor que é retornado com o método agora (), que é quem realmente se encarrega de dar a data e hora atuais, então nos preocupamos apenas em imprimir cada um dos objetos declarados.
ImportanteÉ muito importante incluir o pacote java.time na íntegra para que possamos acessar todas as funções que estamos utilizando, também se tivermos dúvidas na documentação oficial podemos encontrar mais detalhes das opções das mesmas.
Vamos ver como é a execução do nosso programa:

Outro aspecto que devemos levar sempre em consideração é a forma de exibição das informações. Em termos de datas, temos muitas maneiras, porém algumas são mais convenientes do que outras em algumas situações. Na maioria das vezes, isso nos leva a realizar operações adicionais que nos fazem escrever linhas adicionais de código, que em Java 8 não é mais tão complexo.
Dependendo do aplicativo que estamos desenvolvendo, vamos querer mostrar o mês pelo seu número no calendário ou pelo seu nome, mas o nome pode ser completo ou abreviado assim como o dia ou o ano, tudo isso nos dá um um grande número de opções, todas igualmente válidas. Para resolver este problema, podemos usar o formatador de data.
Para formatar as datas temos alguns curingas ou parâmetros que nos permitem obter os valores explicados no parágrafo anterior. Vamos ver quais são os mais importantes.
  • Y, nos permite acessar o ano em formato de quatro ou dois dígitos (2014 ou 14).
  • D, nos permite obter o número do dia do ano (225).
  • d, Ao contrário do anterior, devolve o número do dia do mês em questão (27).
  • eu, nos ajuda a obter o mês do ano na forma numérica, M nos dá o mês em texto.
  • H, nos dá o tempo.
  • s, nos dá os segundos.
  • m, nos permite obter os minutos.
  • para, nos dá a manhã ou a tarde da hora.
  • z, nos permite acessar o nome do fuso horário.
Como conhecemos os parâmetros básicos do formato, vamos tentar um novo exercício, no código a seguir vamos fazer alguns formatos, primeiro vamos obter a data atual e vamos convertê-la para o formato ano mês dia com barras em vez de hífens, vamos analisar uma data estática que vem de uma string com o mesmo formato e, finalmente, vamos mostrar uma data completa incluindo se é am ou pm, para fazer uso dos curingas que nós explicado anteriormente. Vamos ver o código correspondente:
 import java.time. *; import java.time.format. *; public class DateFormatter {public static void main (String [] args) {DateTimeFormatter formatted date = DateTimeFormatter.ofPattern ("aaaa / LL / dd"); System.out.println (FormattedDate.format (LocalDate.now ())); System.out.println (LocalDate.parse ("2014/11/15", data formatada)); DateTimeFormatter timezone = DateTimeFormatter.ofPattern ("d MMMM, aaaa h: mm a"); System.out.println (ZonedDateTime.now (). Formato (fuso horário)); }} 

A primeira coisa que podemos destacar é que devemos importar tanto o pacote java.time com todas as suas classes como o pacote java.time.format com todas as suas aulas também. É possível fazer o exercício importando as aulas específicas, mas deixamos isso como lição de casa, também para que tenham a tarefa de ver a documentação oficial.
Então vemos que criamos um objeto do tipo DateTimeFormatter e usamos o método ofPattern () que aceita os curingas especificados, vemos que colocamos os curingas em duplicata como aaaa para obter os quatro dígitos do ano atual ou também mm para obter os dois dígitos dos minutos.
Finalmente imprimimos cada uma das datas com seus formatos e obtemos o seguinte quando executamos nosso programa:

É aqui que podemos observar todas as alterações que fizemos na forma de formatação das datas, com isso podemos dar-lhe maior significado e legibilidade tanto a nível humano como para motores de. Base de dados O que MySQL você precisa receber a data padrão no formato aaaa-LL-dd.
Outro uso que podemos dar às novas classes de data e hora de Java é ser capaz de usar datas que vêm de uma string de texto, elas podem ser criadas por um usuário, vêm de um arquivo de texto, etc. Mas o importante é que devemos manipulá-los e para isso podemos usar todas as ferramentas de que dispomos.
Vamos ver no código a seguir como, usando o que vimos, podemos fazer alterações em uma data a partir de uma string de texto.
 import java.time. *; import java.time.format. *; public class StaticDate {public static void main (String [] args) {String StartDate = "1906-12-31"; LocalDate takenDate = LocalDate.parse (startDate); System.out.println ("Date:" + TakenDate); String dateStartTime = "1906-12-31T12: 05"; LocalDateTime TakenDateTime = LocalDateTime.parse (TimeInitialDate); System.out.println ("Data / Hora:" + dateTakTime); DateTimeFormatter df = DateTimeFormatter.ofPattern ("dd MMM uuuu"); System.out.println (TakenDate + "Com novo formato:" + df.format (TakenDate)); }} 

No código, vemos como criamos uma data inicial em uma string de texto e, em seguida, com um objeto do tipo LocalDate nós usamos o método Analisar para incorporar a string de texto a um objeto do tipo data, então imprimimos o objeto e vemos que se ele pegou a data corretamente, repetimos o mesmo procedimento, mas usando data e hora com LocalDateTime.
Finalmente, pegamos nosso primeiro objeto criado e aplicamos um novo formato a ele, confirmando assim que fomos capazes de inserir e manipular uma data que estabelecemos a partir de uma string de texto. Vamos ver como fica quando executamos nosso programa:

Com isso terminamos este tutorial, aprendemos a trabalhar com datas em Java utilizando as melhorias nas classes que a nova versão incorpora, que é Java 8Isso pode ser usado para muitos aplicativos no nível do sistema e até mesmo para interfaces de usuário.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave