java8 获取指定日期零点和结束时间戳

/**
     * 获取指定日期 的 零点时间戳
     *
     * @param date 日期。如  "2020-04-12"
     * @return 时间戳 毫秒
     */
    public static Long getStartOfToday(String date) {
        if (StringUtils.isEmpty(date)) {
            date = date2String(new Date(), "yyyy-MM-dd");
        }
        DateTimeFormatter ofPattern = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.CHINA);
        LocalDate parse = LocalDate.parse(date, ofPattern);
        return parse.atStartOfDay().toInstant(ZoneOffset.of("+8")).toEpochMilli();
    }

    /**
     * 获取指定日期 的 末尾时间戳
     *
     * @param date 日期。如  "2020-04-12"
     * @return 时间戳 毫秒
     */
    public static Long getEndOfDay(String date) {
        if (StringUtils.isEmpty(date)) {
            date = date2String(new Date(), "yyyy-MM-dd");
        }
        DateTimeFormatter ofPattern = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.CHINA);
        LocalDate parse = LocalDate.parse(date, ofPattern);
        return LocalDateTime.of(parse, LocalTime.MAX).toInstant(ZoneOffset.of("+8")).toEpochMilli();
    }
posted @ 2020-12-10 15:08  qwer78  阅读(1037)  评论(0)    收藏  举报