Introdução
A classe Java LocalDate fornece o método toEpochDay(), que pode ser usado para converter uma data em Epoch Day. A contagem de Epoch Day é o número de dias que se passaram desde 1º de janeiro de 1970. Neste laboratório, você aprenderá como usar o método toEpochDay() e sua sintaxe.
Configurar o Projeto
Para usar o método toEpochDay(), primeiro precisamos criar um projeto Java. Abra o terminal e execute o seguinte comando para criar um diretório chamado "myProject":
mkdir myProject
Agora, navegue até o diretório do projeto usando o comando cd:
cd myProject/
Criar uma classe Java
Nesta etapa, criaremos um arquivo Java chamado DateDemo.java. Execute o seguinte comando no terminal para criar o arquivo:
touch DateDemo.java
Abra o arquivo em um editor de texto usando o seguinte comando:
touch DateDemo.java
Implementar LocalDate para epochDay()
Nesta etapa, implementaremos o método toEpochDay() para converter um LocalDate em Epoch Day.
Adicione o seguinte código ao arquivo DateDemo.java:
import java.time.LocalDate;
public class DateDemo {
public static void main(String[] args) {
// Create a LocalDate object for January 10, 1970
LocalDate localDate = LocalDate.of(1970, 1, 10);
// Get the epoch day count for the localDate object
long epochDay = localDate.toEpochDay();
// Print the epoch day count
System.out.println("Epoch Day Count: " + epochDay);
}
}
Salve e saia do arquivo usando Ctrl+X, Y, Enter.
Compilar o arquivo Java
Nesta etapa, compilaremos o arquivo DateDemo.java usando o comando javac. Execute o seguinte comando no terminal:
javac DateDemo.java
Isso gerará um arquivo DateDemo.class no mesmo diretório.
Executar o programa Java
Nesta etapa, executaremos o programa DateDemo. Execute o seguinte comando no terminal:
java DateDemo
Isso executará o programa e exibirá a contagem de epoch day para 10 de janeiro de 1970.
Testar LocalDate.toEpochDay() com uma data diferente
Nesta etapa, testaremos o método toEpochDay() com uma data diferente. Altere o objeto LocalDate para representar 15 de janeiro de 2021:
LocalDate localDate = LocalDate.of(2021, 1, 15);
Recompile o programa usando o comando javac:
javac DateDemo.java
Execute o programa novamente usando o comando java:
java DateDemo
Isso deve exibir a contagem de epoch day para 15 de janeiro de 2021.
Usar o método toEpochDay() para calcular a diferença entre duas datas
Nesta etapa, usaremos o método toEpochDay() para calcular a diferença entre duas datas em dias.
Adicione o seguinte código ao método main:
// Create two LocalDate objects
LocalDate date1 = LocalDate.of(2010, 5, 10);
LocalDate date2 = LocalDate.of(2020, 3, 15);
// Calculate the difference between the two dates in days
long diffInDays = date2.toEpochDay() - date1.toEpochDay();
// Print the difference in days
System.out.println("Difference in days: " + diffInDays);
Salve e saia do arquivo usando Ctrl+X, Y, Enter.
Recompile o programa usando o comando javac:
javac DateDemo.java
Execute o programa novamente usando o comando java:
java DateDemo
Isso deve exibir a diferença entre 10 de maio de 2010 e 15 de março de 2020 em dias.
Usar o método toEpochDay() com a data atual
Nesta etapa, usaremos o método toEpochDay() para obter a contagem de epoch day para a data atual.
Adicione o seguinte código ao método main:
// Get the current date
LocalDate today = LocalDate.now();
// Get the epoch day count for today's date
long todayEpochDay = today.toEpochDay();
// Print the epoch day count for today's date
System.out.println("Today's Epoch Day Count: " + todayEpochDay);
Salve e saia do arquivo usando Ctrl+X, Y, Enter.
Recompile o programa usando o comando javac:
javac DateDemo.java
Execute o programa novamente usando o comando java:
java DateDemo
Isso deve exibir a contagem de epoch day para a data de hoje.
Usar o método toEpochDay() com uma data de ano bissexto
Nesta etapa, usaremos o método toEpochDay() com uma data que cai em um ano bissexto.
Adicione o seguinte código ao método main:
// Create a LocalDate object for February 29, 2020
LocalDate leapDate = LocalDate.of(2020, 2, 29);
// Get the epoch day count for February 29, 2020
long leapEpochDay = leapDate.toEpochDay();
// Print the epoch day count for February 29, 2020
System.out.println("Leap Day Epoch Day Count: " + leapEpochDay);
Salve e saia do arquivo usando Ctrl+X, Y, Enter.
Recompile o programa usando o comando javac:
javac DateDemo.java
Execute o programa novamente usando o comando java:
java DateDemo
Isso deve exibir a contagem de epoch day para 29 de fevereiro de 2020.
Limpar o projeto
Nesta etapa, limparemos o projeto excluindo os arquivos DateDemo.java e DateDemo.class.
Execute o seguinte comando no terminal para excluir o arquivo DateDemo.java:
rm DateDemo.java
Execute o seguinte comando no terminal para excluir o arquivo DateDemo.class:
rm DateDemo.class
Resumo
Neste laboratório, você aprendeu como usar o método toEpochDay() para converter um LocalDate para Epoch Day. Você também aprendeu como calcular a diferença entre duas datas usando o método toEpochDay() e como obter a contagem de epoch day para a data atual. Finalmente, você aprendeu como usar o método toEpochDay() com uma data que cai em um ano bissexto.



