В области программирования часто возникает необходимость работать с датами и временем. Одна из общих задач — это получение количества миллисекунд, прошедших с 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.
Добавить комментарий