📜  Java 8 中的日期 - Java (1)

📅  最后修改于: 2023-12-03 15:15:54.838000             🧑  作者: Mango

Java 8 中的日期

Java 是面向对象编程语言中应用范围最广的一种,具有安全性高、稳定性好、可靠性强等特点,被广泛应用于企业级应用开发,而 Java 8 中的日期处理则增强了对日期的处理能力,为程序员提供了更加方便的日期操作方法。

新特性

Java 8 的日期处理中引入了许多新特性,下面将分别进行介绍:

LocalDate

LocalDate 该类是 Java 8 中处理日期的一个非常重要的类,表示一个日期(年月日)。

LocalDate today = LocalDate.now();
int year = today.getYear(); // 获取年份
int month = today.getMonthValue(); // 获取月份
int day = today.getDayOfMonth(); // 获取日
LocalTime

LocalTime 该类是 Java 8 中处理时间的一个非常重要的类,表示一个时间。

LocalTime time = LocalTime.now();
int hour = time.getHour(); // 获取小时
int minute = time.getMinute(); // 获取分钟
int second = time.getSecond(); // 获取秒钟
LocalDateTime

LocalDateTime 该类可以处理日期和时间。

LocalDateTime dateTime = LocalDateTime.now();
int year = dateTime.getYear(); // 获取年份
int month = dateTime.getMonthValue(); // 获取月份
int day = dateTime.getDayOfMonth(); // 获取日
int hour = dateTime.getHour(); // 获取小时
int minute = dateTime.getMinute(); // 获取分钟
int second = dateTime.getSecond(); // 获取秒钟
Instant

Instant 表示时间线上的一个点,类似于 java.util.Date

Instant instant = Instant.now();
System.out.println(instant); // 2021-10-26T14:42:55.941Z
Duration

Duration 表示两个时间点之间的时间段。

Instant start = Instant.now();
// ...
Instant end = Instant.now();
Duration duration = Duration.between(start, end);
long seconds = duration.getSeconds();
Period

Period 表示两个日期之间的时间差。

LocalDate start = LocalDate.of(2022, 1, 1);
LocalDate end = LocalDate.now();
Period period = Period.between(start, end);
int days = period.getDays();
int months = period.getMonths();
int years = period.getYears();
总结

Java 8 中的日期处理为程序员提供了更加方便和强大的日期操作方法,提升了日期处理的效率和可读性。