定义两个时间

        var start = LocalDate.now().atTime(0, 0, 0);var end = LocalDateTime.of(2023, 2, 20, 14, 10, 10);

1:获取天

        var start = LocalDate.now().atTime(0, 0, 0);var end = LocalDateTime.of(2023, 2, 20, 14, 10, 10);for (int i = 0; i <= ChronoUnit.DAYS.between(start, end); i++) {System.out.println(start.plusDays(i));}

输出

2023-01-10T00:00
2023-01-11T00:00
2023-01-12T00:00
2023-01-13T00:00
......

2:获取周(包括周包含的时间)

        var start = LocalDate.now().atTime(0, 0, 0);LocalDateTime end = LocalDateTime.of(2024, 1, 20, 14, 10, 10);// 几周, 每周是哪几天LocalDateTime tmp =LocalDateTime.of(LocalDate.from(start.minusDays(start.getDayOfWeek().getValue() - 1)), LocalTime.MIN);ChronoUnit unit = ChronoUnit.WEEKS;DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");// 用于转换 周结束日期TemporalAdjuster LAST_OF_WEEK = TemporalAdjusters.ofDateAdjuster(localDate -> localDate.plusDays(DayOfWeek.SUNDAY.getValue() - localDate.getDayOfWeek().getValue()));Map<Long, List<String>> weekMap =new HashMap<>();while (tmp.isBefore(end) || tmp.isEqual(end)) {// 求 tmp 是哪一周LocalDateTime endWeek = tmp.with(LAST_OF_WEEK);     //开始周结束日期List<String> list = new ArrayList<>();weekMap.put(tmp.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(), list);while (tmp.isBefore(endWeek) || tmp.isEqual(endWeek)) {list.add(tmp.format(formatter));tmp = tmp.plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0);}}Map<Long, List<String>> result = new LinkedHashMap<>();//排序weekMap.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(x -> result.put(x.getKey(), x.getValue()));for(Long key:result.keySet()){LocalDateTime keys =LocalDateTime.ofInstant(Instant.ofEpochMilli(key), ZoneId.systemDefault());System.out.println("key="+keys+",vlaue="+result.get(key).toString());}

输出

key=2023-01-09T00:00,vlaue=[20230109, 20230110, 20230111, 20230112, 20230113, 20230114, 20230115]
key=2023-01-16T00:00,vlaue=[20230116, 20230117, 20230118, 20230119, 20230120, 20230121, 20230122]
key=2023-01-23T00:00,vlaue=[20230123, 20230124, 20230125, 20230126, 20230127, 20230128, 20230129]
key=2023-01-30T00:00,vlaue=[20230130, 20230131, 20230201, 20230202, 20230203, 20230204, 20230205]
......

通过两个时间获取之间的天/周(周包含的时间)相关推荐

  1. Linux平台C++ 实现毫秒/微妙级时间获取或者延时

    1. 微妙级时间获取 所用头文件 //c++11日期和时间库:chrono #include <chrono> using namespace std::chrono;chrono::sy ...

  2. 自定义周次开始时间,结束时间,计算一年中的周次(非自然周次)

    自定义周次开始时间,结束时间,计算一年中的周次(非自然周次),从数据库中读取时间,然后以此时间为开始时间,并且为第一周周一的开始时刻,每过7天 累计为一周,同时算出周次的开始日期和结束日期. pack ...

  3. 如何在python中找到两个日期时间对象之间的时差?

    本文翻译自:How do I find the time difference between two datetime objects in python? 如何分辨两个datetime对象之间的时 ...

  4. python的datetime举例_Python datetime库计算两个时间点之间的分钟(秒、天)数

    计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...

  5. 计算SharePoint两个日期和时间字段之间的时间差值

    计算SharePoint两个日期和时间字段之间的时间差值 在SharePoint中,有一个"日期和时间(Date and Time)"类型的字段,使用此字段不仅可以只存储日期值,还 ...

  6. java获取两个字符串日期之间间隔的天数

    java获取两个字符串日期之间间隔的天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java ...

  7. 《数字图像处理》dlib人脸检测获取关键点,delaunay三角划分,实现人脸的几何变换warpping,接着实现两幅人脸图像之间的渐变合成morphing

    这学期在上<数字图像处理>这门课程,老师布置了几个大作业,自己和同学一起讨论完成后,感觉还挺有意思的,就想着把这个作业整理一下 : 目录 1.实验任务和要求 2.实验原理 3.实验代码 3 ...

  8. golang计算任意两个时间点之间所覆盖的天数

    golang计算任意两个时间点之间所覆盖的天数 前言 例子 思路 实现 验证 小结 前言 有时候我们需要统计某个东西的日平均使用时长,我们就需要将一大段的使用时长拆分到天. 例子 例子1 From: ...

  9. 假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到

    ** 假定站点A和B在同一个10Mb/s以太网网段上.这两个站点之间的传播时延为225比特时间.现假定A开始发送一帧,并且在A发送结束之前B也发送一帧.如果A发送的是以太网所容许的最短的帧,那么A在检 ...

最新文章

  1. Azure Neural TTS能让AI语音自然逼真到什么程度?
  2. Spring Cloud系列:不重启eureka,清除down掉的服务
  3. 【渝粤教育】国家开放大学2018年春季 7397-21T家庭教育咨询与辅导 参考试题
  4. 详说 Subversion备份
  5. 【Java每日一题】20170110
  6. bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分)
  7. 3个阶段 项目征名_中资企业新签的3个海外项目开工
  8. oracle连接和执行流程总结
  9. Python接口自动化实战(第二阶段)- unittest框架
  10. CURL不能访问 但浏览器可以访问
  11. mix2线刷开发板救砖_小米MIX 2S手机开不了机_线刷救砖教程_安卓刷机工具_一键刷机...
  12. 线程池的使用和工作原理
  13. win10计算机域填写,win10系统如何加入域 win10系统加入域的方法
  14. 再回顾SGX初始化(三)——uRTS维护Enclave、tRTS完成Enclave构建收尾确认工作
  15. 收费版ESX 与免费版ESXi的区别
  16. excel 删除重复项_在Excel 2013列表中删除重复项
  17. Ubuntu-samba服务器的搭建
  18. 规约——前置条件和后置条件
  19. 配置JAVA 环境变量
  20. 利用Python的全国旅游景点数据分析案例(新手)

热门文章

  1. 被一位行业大佬骗了,很崩溃......
  2. 为什么使用v-for需要加key,key最好不是index
  3. Android VNDK的作用
  4. 有知识的人,何不来一次微创业:知识变现
  5. 潭州课堂25班:Ph201805201 第七课:控制流程 (课堂笔记)
  6. 如何在EXCEL中运行ChatGPT,从此不再需要记函数
  7. Ubuntu 20.04下使用rvm安裝Ruby
  8. htaccess 域名 linux,教你使用.htaccess文件实现指定域名访问指定二级目录
  9. 面试题之职业素养提升
  10. java死锁原因和解决