获得指定日期添加指定天数后的0点(昨天0点,前天0点,明天0点,后天0点,十天后零点)

41 篇文章 1 订阅
38 篇文章 0 订阅
    /**
     * 获得指定日期添加指定天数后的0点
     *
     * @param date     指定日期
     * @param plusDays 添加指定天数
     * @return 指定日期添加指定天数后的0点
     * @author hank
     */
    public static Date getPlusDayInitial(Date date, long plusDays) {
        LocalDateTime nextDayZeroLocalDate = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).plusDays(plusDays).withHour(0).withMinute(0).withSecond(0).withNano(0);
        return Date.from(ZonedDateTime.of(nextDayZeroLocalDate, ZoneId.systemDefault()).toInstant());
    }

比如获取昨天0点:

        // 昨天0点
        Date yesterdayZero = DateUtils.getPlusDayInitial(new Date(), -1);
        // 今天0点
        Date yesterdayZero = DateUtils.getPlusDayInitial(new Date(), 0);
        // 明天0点
        Date yesterdayZero = DateUtils.getPlusDayInitial(new Date(), 1);
        // 后天0点
        Date yesterdayZero = DateUtils.getPlusDayInitial(new Date(), 2);
        // 十天后0点
        Date yesterdayZero = DateUtils.getPlusDayInitial(new Date(), 10);

Date 和 LocalDateTime都是本地时间(指的是本地默认时区),具体的时间api比较可以参考:java中ZonedDateTime,LocalDateTime,Date,Calendar,Instant,timestamp的比较区别_hank009的博客-CSDN博客_zoneddatetime比较大小

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值