首页 > 编程语言 >java中LocalDate和Date的应用

java中LocalDate和Date的应用

时间:2024-04-07 17:29:06浏览次数:19  
标签:java dateRange param date time Date return LocalDate

 LocalDate和Date的区别:

Java中Date与LocalDate、LocalDateTime之间的区别及相互转换_localdate 和 date 区别-CSDN博客​​​​​​​

应用:

获取n天前的时间数组

 /**
     * 根据time 获取time天内时间list
     *
     * @param time 时间跨度  14-半个月 返回15条
     * @return
     */
    public List<LocalDate> getDateRange(Integer time) {
        //当前日期2024-04-06
        LocalDate currentDate = LocalDate.now();
        //当前日期2024-03-23,获取time天前日期
        LocalDate pastDate = currentDate.minusDays(time);
        //日期list 从3-23到4-6
        List<LocalDate> dateRange = new ArrayList<>();
        LocalDate tempDate = pastDate;
        while (!tempDate.isAfter(currentDate)) {
            dateRange.add(tempDate);
            tempDate = tempDate.plusDays(1);
        }
        return dateRange;
    }

 检查给定日期是否在指定的日期范围内(包含date转localdate)

 /**
     * 检查给定的日期是否在指定的日期范围内
     *
     * @param date      创建时间类型是Date
     * @param dateRange n天内的时间list
     * @return
     */
    private boolean isWithinDateRange(Date date, List<LocalDate> dateRange) {
        LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        return dateRange.contains(localDate);
    }

 判断表单中时间字段是否在时间范围内

 /**
     * 获取范围内的表单列表
     *
     * @param dateRange
     * @return
     */
    private List<BillDetail> getFilteredBillDetails(List<LocalDate> dateRange) {
        return billDetailService.selectBillDetailList(null)//搜索出所有的表单信息
                .stream()//转为流
                .filter(billDetail -> isWithinDateRange(billDetail.getCreateTime(), dateRange))//筛选
                .collect(Collectors.toList());//转为list返回
    }

 时间格式的转换

想要获得04-06的时间格式----MM-dd

    /**
     * 输出的时间格式
     *
     * @param date
     * @return
     */
    private String formatDate(LocalDate date) {
        return date.format(DateTimeFormatter.ofPattern("MM-dd"));
    }

 小白一枚,记录学习日常~

标签:java,dateRange,param,date,time,Date,return,LocalDate
From: https://blog.csdn.net/m0_63456808/article/details/137470888

相关文章

  • 如何在JavaScript中解析S表达式
    S表达式是Lisp编程语言家族的基础。在本文中,我将逐步向您展示如何创建一个简单的S表达式解析器。这可以作为Lisp解析器的基础。Lisp是实现最简单的语言之一,创建解析器是第一步。我们可以使用解析器生成器来完成这项任务,但自己编写解析器会更容易。我们将使用JavaScript。(本文内......
  • javascript 原生JS实现 fadeIn / fadeOut 方法
    js源码:Object.prototype.fadeIn=function(time,callback){varel=this;el.style.opacity=0;varst=setInterval(function(){el.style.opacity=parseFloat(el.style.opacity)+0.01;if(el.style.opacity>=1){clearInterval(st);if(callback!==......
  • JAVA新版本特性(10万字长文详解)完全指导手册
    目录1、版本详解1.1、Java8升Java111.1.1、Java8升Java11重要特性必读1.1.2、升级JDK11概述1.1.2.1、JDK10后版本发布规则?......
  • 【Web应用技术基础】JavaScript(8)——案例:待办事项
    视频已发。截图如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document<......
  • 11.java openCV4.x 入门- Imgcodecs之图像读写
    专栏简介......
  • mysql使用datetime,java如何保存
    CREATETABLE`user`(```省略部分代码``` `create_time`datetimeNOTNULLCOMMENT'创建时间' ```省略部分代码```)javaclassUser{ privateTimestampcreateTime;}java8importjava.sql.Timestamp;```省略部分代码```LocalDateTimenow=L......
  • java为什么要使用接口呢 用例子带你全面理解接口
    接口的概念简单来说接口就是一个框架这就像做数学题的时候,需要套用固定的步骤是一样的在编程时,如果需要实现多个类似或者相同的模块,那么使用接口,可以让你拥有一套随时可以编辑的步骤.接口的意义在Java中,接口(Interface)扮演着非常关键的角色,它们有以下意义和作用:......
  • 【Java业务需求解决方案】分布式锁应用详情,多种方案选择,轻松解决,手把手操作(非全数
    目录背景:解决方案:分布式锁方案一(不建议,但原理得懂):Redis锁setnx与业务代码处理雏形代码产生问题一:锁释放问题代码改造:锁添加过期时间产生问题二:锁被别的线程误删代码改造:添加setnx锁请求标识防勿删产生问题三:递归容易造成内存溢出代码改造:递归改造while循环产生......
  • 1688详情API接口:解锁多元化应用场景java php c++
    随着互联网的快速发展,数据交换和信息共享已成为企业日常运营不可或缺的一部分。在这样的背景下,API(应用程序接口)接口作为实现数据互通的重要工具,受到了越来越多企业的青睐。1688详情API接口作为阿里巴巴旗下的重要接口之一,为企业提供了丰富多元的应用场景,助力企业高效推广一、1688......
  • Java入门基础知识第五课(超基础,超仔细)——选择结构
    今天主要讲一下if选择结构以及如何利用Math.random()来获取随机数。流程控制:用来控制代码的执行顺序  顺序结构:代码从上往下按照顺序依次执行选择结构:根据条件选择性的执行某部分代码循环结构:反复执行一段代码一、if选择结构1、单分支if选择结构         语......