通过两个时间获取之间的天/周(周包含的时间)
定义两个时间
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]
......
通过两个时间获取之间的天/周(周包含的时间)相关推荐
- Linux平台C++ 实现毫秒/微妙级时间获取或者延时
1. 微妙级时间获取 所用头文件 //c++11日期和时间库:chrono #include <chrono> using namespace std::chrono;chrono::sy ...
- 自定义周次开始时间,结束时间,计算一年中的周次(非自然周次)
自定义周次开始时间,结束时间,计算一年中的周次(非自然周次),从数据库中读取时间,然后以此时间为开始时间,并且为第一周周一的开始时刻,每过7天 累计为一周,同时算出周次的开始日期和结束日期. pack ...
- 如何在python中找到两个日期时间对象之间的时差?
本文翻译自:How do I find the time difference between two datetime objects in python? 如何分辨两个datetime对象之间的时 ...
- python的datetime举例_Python datetime库计算两个时间点之间的分钟(秒、天)数
计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...
- 计算SharePoint两个日期和时间字段之间的时间差值
计算SharePoint两个日期和时间字段之间的时间差值 在SharePoint中,有一个"日期和时间(Date and Time)"类型的字段,使用此字段不仅可以只存储日期值,还 ...
- java获取两个字符串日期之间间隔的天数
java获取两个字符串日期之间间隔的天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java ...
- 《数字图像处理》dlib人脸检测获取关键点,delaunay三角划分,实现人脸的几何变换warpping,接着实现两幅人脸图像之间的渐变合成morphing
这学期在上<数字图像处理>这门课程,老师布置了几个大作业,自己和同学一起讨论完成后,感觉还挺有意思的,就想着把这个作业整理一下 : 目录 1.实验任务和要求 2.实验原理 3.实验代码 3 ...
- golang计算任意两个时间点之间所覆盖的天数
golang计算任意两个时间点之间所覆盖的天数 前言 例子 思路 实现 验证 小结 前言 有时候我们需要统计某个东西的日平均使用时长,我们就需要将一大段的使用时长拆分到天. 例子 例子1 From: ...
- 假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到
** 假定站点A和B在同一个10Mb/s以太网网段上.这两个站点之间的传播时延为225比特时间.现假定A开始发送一帧,并且在A发送结束之前B也发送一帧.如果A发送的是以太网所容许的最短的帧,那么A在检 ...
最新文章
- Azure Neural TTS能让AI语音自然逼真到什么程度?
- Spring Cloud系列:不重启eureka,清除down掉的服务
- 【渝粤教育】国家开放大学2018年春季 7397-21T家庭教育咨询与辅导 参考试题
- 详说 Subversion备份
- 【Java每日一题】20170110
- bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分)
- 3个阶段 项目征名_中资企业新签的3个海外项目开工
- oracle连接和执行流程总结
- Python接口自动化实战(第二阶段)- unittest框架
- CURL不能访问 但浏览器可以访问
- mix2线刷开发板救砖_小米MIX 2S手机开不了机_线刷救砖教程_安卓刷机工具_一键刷机...
- 线程池的使用和工作原理
- win10计算机域填写,win10系统如何加入域 win10系统加入域的方法
- 再回顾SGX初始化(三)——uRTS维护Enclave、tRTS完成Enclave构建收尾确认工作
- 收费版ESX 与免费版ESXi的区别
- excel 删除重复项_在Excel 2013列表中删除重复项
- Ubuntu-samba服务器的搭建
- 规约——前置条件和后置条件
- 配置JAVA 环境变量
- 利用Python的全国旅游景点数据分析案例(新手)
热门文章
- 被一位行业大佬骗了,很崩溃......
- 为什么使用v-for需要加key,key最好不是index
- Android VNDK的作用
- 有知识的人,何不来一次微创业:知识变现
- 潭州课堂25班:Ph201805201 第七课:控制流程 (课堂笔记)
- 如何在EXCEL中运行ChatGPT,从此不再需要记函数
- Ubuntu 20.04下使用rvm安裝Ruby
- htaccess 域名 linux,教你使用.htaccess文件实现指定域名访问指定二级目录
- 面试题之职业素养提升
- java死锁原因和解决