Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
10 Июл 2023
2 мин
282

Получение миллисекунд с 1 января 1970 года (эпохи Unix) с помощью LocalDateTime в Java 8

В области программирования часто возникает необходимость работать с датами и временем. Одна из общих задач — это получение количества миллисекунд,

В области программирования часто возникает необходимость работать с датами и временем. Одна из общих задач — это получение количества миллисекунд, прошедших с 1 января 1970 года (так называемая эпоха Unix), используя классы, представляющие дату и время в Java 8.

Для демонстрации рассмотрим следующий пример кода на Java:

import java.time.LocalDateTime;
import java.time.ZoneOffset;

public class Main {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        // Код для получения миллисекунд с эпохи Unix
    }
}

В этом примере создается объект LocalDateTime, представляющий текущую дату и время, но в данном случае необходимо получить количество миллисекунд с эпохи Unix.

В Java 8 для этого можно использовать метод toInstant(ZoneOffset), который преобразует объект LocalDateTime в Instant. Этот метод требует ZoneOffset в качестве аргумента, который представляет собой смещение времени от Гринвича. Затем, применив метод toEpochMilli() к объекту Instant, можно получить количество миллисекунд с эпохи Unix.

Вот как это выглядит в коде:

import java.time.LocalDateTime;
import java.time.ZoneOffset;

public class Main {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        long millisecondsSinceEpoch = now.toInstant(ZoneOffset.UTC).toEpochMilli();
        System.out.println(millisecondsSinceEpoch);
    }
}

В этом примере используется ZoneOffset.UTC, который представляет собой нулевое смещение времени от Гринвича, что соответствует времени в Лондоне без учета летнего времени.

Этот подход позволяет просто и эффективно решить задачу получения миллисекунд с эпохи Unix, используя новые классы даты и времени в Java 8.

Добавить комментарий

Подарок
Забрать подарок