Java 8 获取当前日期和时间
Contents
1. 简介
这篇快速文章描述了我们如何在 Java 8 中获取当前日期、当前时间和当前时间戳。
2. 当前日期
首先,让我们使用java.time.LocalDate来获取当前系统日期:
LocalDate localDate = LocalDate.now();
要获取任何其他时区的日期,我们可以使用LocalDate.now(ZoneId):
LocalDate localDate = LocalDate.now(ZoneId.of("GMT+02:30"));
我们还可以使用java.time.LocalDateTime来获取LocalDate 的实例:
LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDate = localDateTime.toLocalDate();
3. 当前时间
使用java.time.LocalTime,让我们检索当前系统时间:
LocalTime localTime = LocalTime.now();
要获取特定时区的当前时间,我们可以使用LocalTime.now(ZoneId):
LocalTime localTime = LocalTime.now(ZoneId.of("GMT+02:30"));
我们还可以使用java.time.LocalDateTime来获取 LocalTime 的实例:
LocalDateTime localDateTime = LocalDateTime.now();
LocalTime localTime = localDateTime.toLocalTime();
4. 当前时间戳
使用java.time.Instant从 Java epoch 获取时间戳。根据JavaDoc ,纪元秒数是从标准 Java 纪元 1970-01-01T00:00:00Z 开始测量的,其中纪元之后的瞬间具有正值:
Instant instant = Instant.now();
long timeStampMillis = instant.toEpochMilli();
我们可以得到 epoch-seconds 秒数:
Instant instant = Instant.now();
long timeStampSeconds = instant.getEpochSecond();