jdk8处理时间

    对当前时间格式化:
     public static long getCurrentTimeMillis(String pattern) {
        return Long.valueOf(toString(LocalDateTime.now(), pattern));
     }
     对指定日期进行格式化:
     public static LocalDate toLocalDate(String date, String pattern) {
        return LocalDate.parse(date, DateTimeFormatter.ofPattern(pattern));

     }
    public static String toString(LocalDate date, String pattern) {
       return date.format(DateTimeFormatter.ofPattern(pattern));
    }
    // 计算偏移日期
    public static LocalDate getOffsetLocalDate(LocalDate targetDate, ChronoUnit unit, long number) {
        return targetDate.plus(number, unit);
    }

    // 获取周一
    public static LocalDate getFirstDayOfWeek(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
    }

    // 获取周日
    public static LocalDate getLastDayOfWeek(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
    }

    // 获取月初
    public static LocalDate getFirstDayOfMonth(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.firstDayOfMonth());
    }

    // 获取月末
    public static LocalDate getLastDayOfMonth(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.lastDayOfMonth());
    }

    // 获取季初
    public static LocalDate getFirstDayOfQuarter(LocalDate localDate) {
        int month = localDate.getMonthValue();
        if (month >= 1 && month <= 3) {
            return LocalDate.of(localDate.getYear(), 1, 1);
        } else if (month >= 4 && month <= 6) {
            return LocalDate.of(localDate.getYear(), 4, 1);
        } else if (month >= 7 && month <= 9) {
            return LocalDate.of(localDate.getYear(), 7, 1);
        } else {
            return LocalDate.of(localDate.getYear(), 10, 1);
        }

    }

    // 获取季末
    public static LocalDate getLastDayOfQuarter(LocalDate localDate) {
        int month = localDate.getMonthValue();
        if (month >= 1 && month <= 3) {
            return LocalDate.of(localDate.getYear(), 3, 31);
        } else if (month >= 4 && month <= 6) {
            return LocalDate.of(localDate.getYear(), 6, 30);
        } else if (month >= 7 && month <= 9) {
            return LocalDate.of(localDate.getYear(), 9, 30);
        } else {
            return LocalDate.of(localDate.getYear(), 12, 31);
        }
    }

    // 获取半年初
    public static LocalDate getFirstDayOfHalfYear(LocalDate localDate) {
        int month = localDate.getMonthValue();
        if (month >= 1 && month <= 6) {
            return LocalDate.of(localDate.getYear(), 1, 1);
        } else {
            return LocalDate.of(localDate.getYear(), 7, 1);
        }

    }

    // 获取半年末
    public static LocalDate getLastDayOfHalfYear(LocalDate localDate) {
        int month = localDate.getMonthValue();
        if (month >= 1 && month <= 6) {
            return LocalDate.of(localDate.getYear(), 6, 30);
        } else {
            return LocalDate.of(localDate.getYear(), 12, 31);
        }
    }

    // 获取年初
    public static LocalDate getFirstDayOfYear(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.firstDayOfYear());
    }

    // 获取年末
    public static LocalDate getLastDayOfYear(LocalDate localDate) {
        return localDate.with(TemporalAdjusters.lastDayOfYear());
    }

    // 计算两个日期相差天数
    public static long getIntervalDays(LocalDate localDate1, LocalDate localDate2) {
        return Math.abs(localDate1.toEpochDay() - localDate2.toEpochDay());
    }
    

  

posted @ 2019-05-14 11:00  秦先生的客栈  Views(436)  Comments(0Edit  收藏  举报