java8中怎么获取指定日期段
发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,这篇文章将为大家详细讲解有关java8中怎么获取指定日期段,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。/** * 根据时间段获取 指定类型列表 *
千家信息网最后更新 2024年10月07日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安全错误
数据库的锁怎样保障安全
网络安全技能训练作业登录
推荐一款软件开发好的电脑
浪潮云服务器管理员
我的世界电脑版速搭服务器叫啥
数据库 基础设计规范
服务器连接交换机接在哪里
大数据转软件开发可以吗
ios软件开发是什么意思
数据库设计摘要
网络游戏空岛战争服务器推荐
济宁瑞悦网络技术有限公司
mysql 怎样导入数据库
游戏服务器有恶意攻击
上汽集团软件开发工资高吗
网络安全讲师必备技能
上亿数据用什么数据库
便携式无线服务器
网络技术计算机三级买什么书
绪水互联网科技公司 彭奇斌
王牌战争服务器怎么切换模式
昭化网络安全宣传周
桓台供应链软件开发公司
北京市软件开发电话
河北哪个高速服务器的饭好吃
软件开发实习岗
顺德企业网络安全产品
数据库查询分不清楚哪一列
ensp怎么在服务器添加网站
2020网络安全周主题
服务器管理器如何配置网站