Введение
Класс Java LocalDate предоставляет метод toEpochDay(), который можно использовать для преобразования даты в день Эпохи. Счет дней Эпохи - это количество дней, прошедших с 1 января 1970 года. В этом практическом занятии вы узнаете, как использовать метод toEpochDay() и его синтаксис.
Настройка проекта
Для использования метода toEpochDay() сначала нужно создать Java-проект. Откройте терминал и выполните следующую команду, чтобы создать директорию с именем "myProject":
mkdir myProject
Теперь перейдите в директорию проекта с помощью команды cd:
cd myProject/
Создайте класс Java
В этом шаге мы создадим Java-файл с именем DateDemo.java. Запустите следующую команду в терминале, чтобы создать файл:
touch DateDemo.java
Откройте файл в текстовом редакторе с использованием следующей команды:
touch DateDemo.java
Примечание: второй раз вы написали ту же команду touch DateDemo.java. Возможно, это ошибка. Правильно было бы использовать команду для открытия файла в редакторе, например, nano DateDemo.java для редактора Nano или vim DateDemo.java для Vim.
Реализация метода LocalDate toEpochDay()
В этом шаге мы реализуем метод toEpochDay(), чтобы преобразовать LocalDate в день Эпохи.
Добавьте следующий код в файл DateDemo.java:
import java.time.LocalDate;
public class DateDemo {
public static void main(String[] args) {
// Создайте объект LocalDate для 10 января 1970 года
LocalDate localDate = LocalDate.of(1970, 1, 10);
// Получите количество дней Эпохи для объекта localDate
long epochDay = localDate.toEpochDay();
// Выведите количество дней Эпохи
System.out.println("Количество дней Эпохи: " + epochDay);
}
}
Сохраните файл и выйдите из него с помощью Ctrl+X, Y, Enter.
Компилировать Java-файл
В этом шаге мы скомпилируем файл DateDemo.java с использованием команды javac. Запустите следующую команду в терминале:
javac DateDemo.java
В результате этого в той же директории будет сгенерирован файл DateDemo.class.
Запустить Java-программу
В этом шаге мы запустим программу DateDemo. Запустите следующую команду в терминале:
java DateDemo
В результате этого программа будет запущена, и будет выведено количество дней Эпохи для 10 января 1970 года.
Протестировать метод LocalDate toEpochDay() с другой датой
В этом шаге мы проверим метод toEpochDay() с другой датой. Измените объект LocalDate, чтобы он представлял 15 января 2021 года:
LocalDate localDate = LocalDate.of(2021, 1, 15);
Скомпилируйте программу снова с использованием команды javac:
javac DateDemo.java
Запустите программу снова с использованием команды java:
java DateDemo
В результате должно быть выведено количество дней Эпохи для 15 января 2021 года.
Использовать метод toEpochDay() для вычисления разницы между двумя датами
В этом шаге мы будем использовать метод toEpochDay() для вычисления разницы между двумя датами в днях.
Добавьте следующий код в метод main:
// Создайте два объекта LocalDate
LocalDate date1 = LocalDate.of(2010, 5, 10);
LocalDate date2 = LocalDate.of(2020, 3, 15);
// Вычислите разницу между двумя датами в днях
long diffInDays = date2.toEpochDay() - date1.toEpochDay();
// Выведите разницу в днях
System.out.println("Разница в днях: " + diffInDays);
Сохраните файл и выйдите из него с помощью Ctrl+X, Y, Enter.
Скомпилируйте программу снова с использованием команды javac:
javac DateDemo.java
Запустите программу снова с использованием команды java:
java DateDemo
В результате должно быть выведено разница между 10 мая 2010 года и 15 марта 2020 года в днях.
Использовать метод toEpochDay() с текущей датой
В этом шаге мы будем использовать метод toEpochDay() для получения количества дней Эпохи для текущей даты.
Добавьте следующий код в метод main:
// Получите текущую дату
LocalDate today = LocalDate.now();
// Получите количество дней Эпохи для сегодняшней даты
long todayEpochDay = today.toEpochDay();
// Выведите количество дней Эпохи для сегодняшней даты
System.out.println("Количество дней Эпохи сегодня: " + todayEpochDay);
Сохраните файл и выйдите из него с помощью Ctrl+X, Y, Enter.
Скомпилируйте программу снова с использованием команды javac:
javac DateDemo.java
Запустите программу снова с использованием команды java:
java DateDemo
В результате должно быть выведено количество дней Эпохи для сегодняшней даты.
Использовать метод toEpochDay() с датой високосного года
В этом шаге мы будем использовать метод toEpochDay() с датой, которая попадает на високосный год.
Добавьте следующий код в метод main:
// Создайте объект LocalDate для 29 февраля 2020 года
LocalDate leapDate = LocalDate.of(2020, 2, 29);
// Получите количество дней Эпохи для 29 февраля 2020 года
long leapEpochDay = leapDate.toEpochDay();
// Выведите количество дней Эпохи для 29 февраля 2020 года
System.out.println("Количество дней Эпохи для 29 февраля 2020 года: " + leapEpochDay);
Сохраните файл и выйдите из него с помощью Ctrl+X, Y, Enter.
Скомпилируйте программу снова с использованием команды javac:
javac DateDemo.java
Запустите программу снова с использованием команды java:
java DateDemo
В результате должно быть выведено количество дней Эпохи для 29 февраля 2020 года.
Очистить проект
В этом шаге мы очистим проект, удалив файлы DateDemo.java и DateDemo.class.
Запустите следующую команду в терминале, чтобы удалить файл DateDemo.java:
rm DateDemo.java
Запустите следующую команду в терминале, чтобы удалить файл DateDemo.class:
rm DateDemo.class
Резюме
В этом практическом занятии вы узнали, как использовать метод toEpochDay() для преобразования LocalDate в день Эпохи. Также вы узнали, как вычислять разницу между двумя датами с использованием метода toEpochDay() и как получить количество дней Эпохи для текущей даты. Наконец, вы узнали, как использовать метод toEpochDay() с датой, которая попадает на високосный год.



