Java 8引入了全新的日期和工夫API,即java.time包,提供了用于解决日期、工夫和工夫距离的类。以下是一些示例:

  1. LocalDate:示意一个日期,例如:2023-07-03。

    LocalDate date = LocalDate.now(); // 获取以后日期int year = date.getYear(); // 获取年份int month = date.getMonthValue(); // 获取月份int day = date.getDayOfMonth(); // 获取日期
  2. LocalTime:示意一个工夫,例如:12:30:45。

    LocalTime time = LocalTime.now(); // 获取以后工夫int hour = time.getHour(); // 获取小时int minute = time.getMinute(); // 获取分钟int second = time.getSecond(); // 获取秒数
  3. LocalDateTime:示意日期和工夫,例如:2023-07-03T12:30:45。

    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(); // 获取秒数
  4. Period:示意日期之间的距离。

    LocalDate date1 = LocalDate.of(2020, 6, 1);LocalDate date2 = LocalDate.of(2023, 7, 3);Period period = Period.between(date1, date2); // 计算两个日期之间的距离int years = period.getYears(); // 获取年份距离int months = period.getMonths(); // 获取月份距离int days = period.getDays(); // 获取日期距离
  5. Duration:示意工夫之间的距离。

    LocalTime time1 = LocalTime.of(12, 0, 0);LocalTime time2 = LocalTime.now();Duration duration = Duration.between(time1, time2); // 计算两个工夫之间的距离long hours = duration.toHours(); // 获取小时距离long minutes = duration.toMinutes(); // 获取分钟距离long seconds = duration.getSeconds(); // 获取秒数距离
  6. ZonedDateTime:示意带时区的日期和工夫。

    ZonedDateTime zonedDateTime = ZonedDateTime.now(); // 以后日期和工夫(带时区)ZoneId zoneId = ZoneId.of("Asia/Shanghai"); // 创立指定时区ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId); // 指定时区的以后日期和工夫

    这些只是Java 8日期和工夫API中的局部类和示例,该API还提供了许多其余性能,如格式化、解析、时区解决等。