java8中怎么获取指定日期段
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关java8中怎么获取指定日期段,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/** * 根据时间段获取 指定类型列表 *
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
伟宏互联网科技
今日互联网科技
互联网科技金融公司
奇酷互联网络科技
奇酷互联网络科技公司
睿民互联网科技
赫美联合互联网科技
深圳市运趣互联网科技有限公司
科技与互联网哪个更好
互联网科技创新服务
青岛科技大学互联网大赛研究生
坤平互联网科技
银川新华互联网科技学校联系电话
互联网科技的全部知识
阿里互联网科技企业
明优互联网科技有限公司
区块链结合互联网科技
广州三三互联网科技有限公司
深圳互联网科技园地址
银川新华互联网科技学校招聘
互联网科技公司电话
互联网科技媒体
朗涯互联网科技
科技互联网公司logo
互联网科技网站
互联网 科技服务平台
河南猎农互联网科技有限公司
电子科技大学互联网创业大赛
高科技互联网发展前景如何
颐高云石互联网科技