Java学习----JDK8时间类

JDK8 时间类使用

LocalDate

  • 构建LocalDate对象
    //        获取当前年月日
        LocalDate localDate = LocalDate.now();
    //        构建制定的年月日
        LocalDate localDate1 = LocalDate.of(2019, 10, 13);
  • 获取值
//        获取年
        int year = localDate.getYear();
        int year1 = localDate.get(ChronoField.YEAR);

//        获取月
        Month month = localDate.getMonth();
        int month1 = localDate.get(ChronoField.MONTH_OF_YEAR);

//        获取日
        int day = localDate.getDayOfMonth();
        int day1 = localDate.get(ChronoField.DAY_OF_MONTH);
//        获取星期
        DayOfWeek dayOfWeek = localDate.getDayOfWeek();
        int dayOfWeek1 = localDate.get(ChronoField.DAY_OF_WEEK);

LocalTime

  • 构建LocalTime对象
//        获取当前时间
        LocalTime localTime = LocalTime.now();
//        获取指定时间
        LocalTime localTime1 = LocalTime.of(19, 55, 50);
  • 获取值
//        获取时
        int hour = localTime.getHour();
        int hour1 = localTime.get(ChronoField.HOUR_OF_DAY);
//        获取分
        int minute = localTime.getMinute();
        int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR);
//        获取秒
        int second = localTime.getMinute();
        int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE);

LocalDateTime

  • 构建LocalDateTime对象
//        获取当前年月日时分秒
        LocalDateTime localDateTime = LocalDateTime.now();
        LocalDateTime localDateTime1 = LocalDateTime.of(2019, 10, 25, 20, 20, 59);
  • 获取值
//        获取LocalDate
        LocalDate localDate2 = localDateTime.toLocalDate();
//        获取LocalTime
        LocalTime localTime2 = localDateTime.toLocalTime();

Instant

//        获取秒数
        Instant instant = Instant.now();
        long second2 = instant.getEpochSecond();
//        获取毫秒数
        long minSecond = instant.toEpochMilli();

时间增减修改

//        增加一年
        localDateTime.plusYears(1);
        localDateTime.plus(1, ChronoUnit.YEARS);
//        增加一个月
        localDateTime.plusMonths(1);
        localDateTime.plus(1,ChronoUnit.MONTHS);
//        减少一天
        localDateTime.minusDays(1);
        localDateTime.minus(1,ChronoUnit.DAYS);

//        修改年某个值
        localDateTime.withYear(2018);
        localDateTime.with(ChronoField.YEAR,2018);

时间差

  • Duration
//        LocalDateTime和LocalTime时间计算
        Duration duration = Duration.between(localTime,localTime1);
        duration.toDays();
        duration.toHours();
  • Period
//        LocalDate时间计算
        Period period = Period.between(localDate,localDate1);
        period.getYears();
        period.getMonths();

格式化与解析时间

  • 格式化时间
//        格式化时间
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm:ss");
        String date = localDateTime.format(dateTimeFormatter);
  • 解析时间
//        解析时间
        LocalDate localDate3 =  LocalDate.parse("2019-10-30");
        LocalDate localDate4 = LocalDate.parse("20191030",DateTimeFormatter.BASIC_ISO_DATE);

猜你喜欢

转载自www.cnblogs.com/bananafish/p/11748942.html