Introdução
Neste laboratório, você aprenderá como usar o método get() da classe LocalDate em Java para recuperar campos específicos de uma data. Este método é útil quando você só precisa recuperar um campo específico, como o dia do mês ou o dia da semana, de uma determinada data. Você pode usar o enum ChronoField para especificar qual campo recuperar.
Criar um arquivo Java
Nesta etapa, você criará um novo arquivo Java chamado LocalDateGet.java no diretório do seu projeto. Este arquivo conterá o código para demonstrar o método get() da classe LocalDate.
Abra o terminal no seu WebIDE. O diretório padrão é
~/project.Crie o arquivo
LocalDateGet.javausando o comandotouch:touch LocalDateGet.javaEste comando cria um arquivo vazio no seu diretório atual. Você pode verificar sua criação listando os arquivos:
lsVocê deve ver
LocalDateGet.javalistado na saída.
Adicionar as importações necessárias e a estrutura da classe
Agora, você adicionará a estrutura básica ao seu arquivo LocalDateGet.java, incluindo as instruções de importação necessárias e a definição da classe principal. Essas importações são essenciais para trabalhar com as APIs de data e hora em Java.
Abra o arquivo
LocalDateGet.javano editor de código do WebIDE.Adicione o seguinte código ao arquivo:
import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { public static void main(String[] args) { // This is where we will call our methods later } }java.time.LocalDate: Esta classe representa uma data sem um fuso horário.java.time.temporal.ChronoField: Este enum fornece um conjunto padrão de campos para data e hora, comoDAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR, etc.java.time.temporal.TemporalAccessor: Esta interface fornece acesso somente leitura a um objeto temporal, comoLocalDate. O métodoget()é definido nesta interface.java.time.temporal.TemporalField: Esta interface representa um campo de data-hora, como ano, mês ou dia do mês.ChronoFieldimplementa esta interface.
Salve o arquivo
LocalDateGet.javaapós adicionar o código.
Obter o dia do mês
Nesta etapa, você adicionará um método à sua classe LocalDateGet que demonstra como recuperar o dia do mês de um objeto LocalDate usando o método get() e ChronoField.DAY_OF_MONTH.
Abra o arquivo
LocalDateGet.javano editor de código do WebIDE.Adicione o método
getDayOfMonth()dentro da classeLocalDateGet, mas fora do métodomain:import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { public static void getDayOfMonth() { // Define the field to retrieve: DAY_OF_MONTH TemporalField field = ChronoField.DAY_OF_MONTH; // Create a LocalDate object for May 17, 2021 TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the month using the get() method int val = date.get(field); // Display the retrieved day of the month System.out.println("Day of the month: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // This is where we will call our methods later } }LocalDate.of(2021, 5, 17): Cria um objetoLocalDaterepresentando 17 de maio de 2021.ChronoField.DAY_OF_MONTH: Especifica que queremos recuperar o dia do mês.date.get(field): Este é o núcleo da operação. Ele chama o métodoget()no objetodate, passando ofield(que éChronoField.DAY_OF_MONTH) para extrair o valor inteiro correspondente.
Salve o arquivo
LocalDateGet.java.Agora, vamos chamar este método de
mainpara vê-lo em ação. Modifique seu métodomainda seguinte forma:public static void main(String[] args) { getDayOfMonth(); // Other methods will be called here later }Salve o arquivo novamente.
Abra o terminal e compile seu código Java:
javac LocalDateGet.javaSe não houver erros, a compilação será concluída silenciosamente.
Execute o programa Java compilado:
java LocalDateGetVocê deve ver uma saída semelhante a esta:
Date : 2021-05-17 Day of the month: 17Isso confirma que o método
getDayOfMonth()extrai corretamente o dia do mês.
Obter o dia da semana
Em seguida, você adicionará outro método para recuperar o dia da semana. O campo ChronoField.DAY_OF_WEEK representa o dia da semana, onde 1 é segunda-feira, 2 é terça-feira e assim por diante, até 7 para domingo.
Abra o arquivo
LocalDateGet.javano editor de código do WebIDE.Adicione o método
getDayOfWeek()dentro da classeLocalDateGet, abaixo do métodogetDayOfMonth():import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { // ... (getDayOfMonth method as defined previously) ... public static void getDayOfWeek() { // Define the field to retrieve: DAY_OF_WEEK TemporalField field = ChronoField.DAY_OF_WEEK; // Create a LocalDate object for May 17, 2021 (which was a Monday) TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the week using the get() method int val = date.get(field); // Display the retrieved day of the week System.out.println("Day of the week: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // ... (main method as defined previously) ... } }Salve o arquivo
LocalDateGet.java.Agora, chame este novo método do seu método
main. Atualize o métodomainda seguinte forma:public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); // Call the new method // Other methods will be called here later }Salve o arquivo novamente.
Compile seu código Java do terminal:
javac LocalDateGet.javaExecute o programa Java compilado:
java LocalDateGetVocê deve ver uma saída semelhante a esta:
Date : 2021-05-17 Day of the month: 17 Date : 2021-05-17 Day of the week: 1Como 17 de maio de 2021 foi uma segunda-feira, e
ChronoField.DAY_OF_WEEKrepresenta a segunda-feira como 1, a saídaDay of the week: 1está correta.
Obter o dia do ano
Finalmente, você adicionará um método para recuperar o dia do ano. O campo ChronoField.DAY_OF_YEAR representa o dia do ano, onde 1 é 1º de janeiro e assim por diante.
Abra o arquivo
LocalDateGet.javano editor de código do WebIDE.Adicione o método
getDayOfYear()dentro da classeLocalDateGet, abaixo do métodogetDayOfWeek():import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { // ... (getDayOfMonth and getDayOfWeek methods as defined previously) ... public static void getDayOfYear() { // Define the field to retrieve: DAY_OF_YEAR TemporalField field = ChronoField.DAY_OF_YEAR; // Create a LocalDate object for May 17, 2021 TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the year using the get() method int val = date.get(field); // Display the retrieved day of the year System.out.println("Day of the year: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // ... (main method as defined previously) ... } }Salve o arquivo
LocalDateGet.java.Agora, chame este método final do seu método
main. Atualize o métodomainda seguinte forma:public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); getDayOfYear(); // Call the new method }Salve o arquivo novamente.
Compile seu código Java do terminal:
javac LocalDateGet.javaExecute o programa Java compilado:
java LocalDateGetVocê deve ver a saída completa, incluindo o dia do ano:
Date : 2021-05-17 Day of the month: 17 Date : 2021-05-17 Day of the week: 1 Date : 2021-05-17 Day of the year: 13717 de maio de 2021 foi o 137º dia do ano, então a saída
Day of the year: 137está correta.
Resumo
Neste laboratório, você aprendeu a usar o método get() da classe LocalDate do Java para recuperar campos específicos de datas. Você criou um programa que recuperou o dia do mês, o dia da semana e o dia do ano para a mesma data (17 de maio de 2021). Ao usar o método get() junto com o enum ChronoField, você pode extrair eficientemente componentes específicos de data, tornando seus programas Java mais precisos ao trabalhar com dados temporais.



