java8中怎么获取指定日期段
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关java8中怎么获取指定日期段,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/** * 根据时间段获取 指定类型列表 *
千家信息网最后更新 2025年12月02日java8中怎么获取指定日期段
这篇文章将为大家详细讲解有关java8中怎么获取指定日期段,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
/** * 根据时间段获取 指定类型列表 * [@param](https://my.oschina.net/u/2303379) start * [@param](https://my.oschina.net/u/2303379) end * [@param](https://my.oschina.net/u/2303379) unit 天:0 周:1 月:2 季:3 半年:4 年:5 * [@return](https://my.oschina.net/u/556800) 天: 2019-07-11 周:2019-52 月:2019-07 季:2019-4 半年:2019-2 年:2019 */public static ListgetPeriod(LocalDate start,LocalDate end,int unit) { if (start.compareTo(end) > 0) { throw new DateTimeException("start cannot be greater than the end"); } List list = new ArrayList<>(); switch (unit) { case 0: getDays(start,end,list); break; case 1: getWeeks(start,end,list); break; case 2: getMonths(start,end,list); break; case 3: getQuarters(start,end,list); break; case 4: getHalfYears(start,end,list); break; case 5: getYears(start,end,list); break; default: break; } return list;}// 获取天列表private static void getDays(LocalDate start, LocalDate end, List list) { while (start.compareTo(end) <= 0) { list.add(start.format(DateTimeFormatter.ofPattern(parsePatterns[0]))); start = start.plusDays(1); }}// 获取周列表private static void getWeeks(LocalDate start, LocalDate end, List list) { // 初始化 周 iso标准 起始周一 大于4天 // WeekFields weekFields = WeekFields.ISO; // 初始化 第一天即第一周 WeekFields weekFields = WeekFields.of(DayOfWeek.MONDAY,1); while (start.compareTo(end) <= 0) { list.add(start.getYear()+"-"+start.get(weekFields.weekOfWeekBasedYear())); start = start.plusWeeks(1); }}// 获取月列表private static void getMonths(LocalDate start, LocalDate end, List list) { while (start.getYear()*100+start.getMonthValue() <= end.getYear()*100+end.getMonthValue()) { list.add(start.format(DateTimeFormatter.ofPattern("yyyy-MM"))); start = start.plusMonths(1); }}// 获取季列表private static void getQuarters(LocalDate start, LocalDate end, List list) { while (start.getYear()*10+((int)Math.ceil(start.getMonthValue() / 3.0)) <= end.getYear()*10+((int)Math.ceil(end.getMonthValue() / 3.0))) { String quarter = start.getYear() +"-"+ ((int)Math.ceil(start.getMonthValue() / 3.0)); if (!list.contains(quarter)) { list.add(quarter); } start = start.plusMonths(1); }}// 获取半年列表private static void getHalfYears(LocalDate start, LocalDate end, List list) { while (start.getYear()*10+((int)Math.ceil(start.getMonthValue() / 6.0)) <= ((int)Math.ceil(end.getMonthValue() / 6.0))) { String quarter = start.getYear() +"-"+ ((int)Math.ceil(start.getMonthValue() / 6.0)); if (!list.contains(quarter)) { list.add(quarter); } start = start.plusMonths(1); }}// 获取年列表private static void getYears(LocalDate start, LocalDate end, List list) { while (start.getYear() <= end.getYear()) { list.add(start.getYear()+""); start = start.plusYears(1); }}
关于java8中怎么获取指定日期段就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
半年
日期
内容
文章
更多
知识
篇文章
不错
时间
时间段
标准
类型
质量
参考
帮助
有关
起始
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
吉林现代化软件开发发展现状
公共网络安全监管系统价格
信创服务器厂商排名
直播软件开发贵吗
sql 替换部分数据库
dat 导入数据库文件
网络安全技术能力训练
盐城佳盛网络技术有限公司
崇义im即时通讯软件开发
央视软件开发
国家网络安全宣传周山东省校园日
软件开发赔偿损失
计算机网络技术与软件设计
oracle数据库安全书
军队网络技术
凡卓软件开发
国际服务器代理多少钱
广州贪吃虎网络技术有限公司扣钱
大话西游 服务器转出名额
泉州市文昊网络技术有限公司
网络安全的培训机构靠谱吗
大型小游戏服务器
目前没有的产品或服务器
计算机网络技术传输层的功能
ibm软件开发顾问师父带徒弟吗
软件开发行业合作
关系数据库的基本特征
梦幻西游龙拳服务器直播
软通网络安全类型B类安全要求
萤火虫互联网科技有限公司哪个