java遍历指定日期范围的日期

        LocalDate beginTime = LocalDate.of(2021, 5, 20);
        LocalDate endTime = LocalDate.of(2021, 6, 30);

        //当开始时间不大于结束时间,循环执行
        while (!beginTime.isAfter(endTime))
        {
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            String feeDate = beginTime.format(formatter);
            System.err.println("当前日期:" + feeDate);
            //日期+1,继续执行
            beginTime = beginTime.plusDays(1);
        }

你可以使用Java自带的DateTimeFormatter类和Files类来实现遍历日期文件夹并取最大日期。 首先,你需要指定日期文件夹的路径。假设该路径为"path/to/folder"。 然后,你可以使用以下代码来遍历该文件夹中的所有日期文件夹,并取得最大日期: ```java Path folderPath = Paths.get("path/to/folder"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDate maxDate = null; try (DirectoryStream<Path> stream = Files.newDirectoryStream(folderPath)) { for (Path path : stream) { String fileName = path.getFileName().toString(); try { LocalDate date = LocalDate.parse(fileName, formatter); if (maxDate == null || date.isAfter(maxDate)) { maxDate = date; } } catch (DateTimeParseException e) { // Ignore non-date folders } } } if (maxDate != null) { System.out.println("Max date: " + maxDate.format(formatter)); } else { System.out.println("No date folders found"); } ``` 解释一下代码: - 首先,我们使用`Paths.get()`方法来获取指定路径的`Path`对象。 - 然后,我们创建一个`DateTimeFormatter`对象,用来解析日期文件夹的名称。 - 接着,我们定义一个`LocalDate`变量`maxDate`,用来保存最大日期。 - 然后,我们使用`Files.newDirectoryStream()`方法来获取指定路径下的所有文件和文件夹,并使用`try-with-resources`语句来自动关闭流。 - 对于每个文件夹,我们取得其名称,并使用`LocalDate.parse()`方法来解析出日期对象。如果解析失败,则忽略该文件夹。 - 如果`maxDate`为空,或者当前解析出的日期比`maxDate`更大,则更新`maxDate`。 - 最后,如果`maxDate`不为空,则输出最大日期;否则输出"No date folders found"。 希望这个代码可以帮到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值