Date 获取当天最小日期 与最大日期 00:00:00 59:59:99

 

 

1 date 时间 00:00:00 转成 59:59:99

 

 

落数据发现,同事时间格式是

 

 

导致结束时间全都是 00:00:00,这不是结束的最大时间格式。

 

于是重写了 set 方法,把时间换算为最大时间格式

 

 

 

       public void setValidEndDate(Date validEndDate) {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(validEndDate.getTime()),
                    ZoneId.systemDefault());
            LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
            this.validEndDate = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
        }

 

 

测试代码如下:

 

 

 

 

 public static void main(String[] args) {
        Date validEndDate= new Date();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(validEndDate.getTime()),
                ZoneId.systemDefault());
        LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
        Date from = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("from = " + from);
    }

 

posted @ 2022-11-22 15:29  未确定  阅读(712)  评论(0编辑  收藏  举报