当前位置: 首页 > news >正文

计算两个时间之间有几个自然月

需求背景

我们的项目使用了按月分库,命名格式为:order_202407,order_202408,在编写分库策略的代码时,需要根据入参里的业务开始时间和业务结束时间,来定位到目标表

代码

 public static List<String> getMonthList(LocalDateTime startDate, LocalDateTime endDate) {List<String> monthList = new ArrayList<>();DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");// 确保 startDate 在 endDate 之前if (startDate.isAfter(endDate)) {LocalDateTime temp = startDate;startDate = endDate;endDate = temp;}// 从 startDate 开始循环,直到达到 endDatewhile (startDate.isBefore(endDate) || startDate.equals(endDate)) {monthList.add(startDate.format(formatter));// 移动到下一个月的第一天startDate = startDate.plusMonths(1).withDayOfMonth(1);}return monthList;}public static void main(String[] args) {// 示例日期LocalDateTime dateA = LocalDateTime.of(2024, 7, 15, 10, 30);LocalDateTime dateB = LocalDateTime.of(2024, 8, 1, 14, 45);// 调用工具类方法获取月份列表List<String> monthList = getMonthList(dateA, dateB);// 打印结果for (String month : monthList) {System.out.println(month);}}

结语

通过这个方法,可以得到目标表

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 量化小白也能自动化挖掘出6万+因子
  • 5分钟完成视频会议私有化部署
  • 类和对象的深入了解6
  • 【C语言】简易版扫雷游戏(数组、函数的练习)
  • 05-ArcGIS For JavaScript-RenderNode后处理效果
  • [012-1].第12节:Mysql的配置文件的使用
  • ubuntu安装workon
  • MyBatis缓存
  • DataKit之OpenGauss数据迁移工具
  • 大数据技术基础编程、实验和案例----大数据课程综合实验案例
  • SpringBoot如何实现简单的跨域配置
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • 程序员修炼之路
  • vue3 动态加载组件
  • web文件上传与下载
  • 5、React组件事件详解
  • Android框架之Volley
  • Angular 2 DI - IoC DI - 1
  • Angular Elements 及其运作原理
  • create-react-app项目添加less配置
  • ES10 特性的完整指南
  • ES6简单总结(搭配简单的讲解和小案例)
  • extjs4学习之配置
  • fetch 从初识到应用
  • HTTP那些事
  • JavaScript对象详解
  • Markdown 语法简单说明
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • SQLServer之索引简介
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue2.0项目引入element-ui
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 初识MongoDB分片
  • 力扣(LeetCode)357
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何使用 JavaScript 解析 URL
  • 一文看透浏览器架构
  • Android开发者必备:推荐一款助力开发的开源APP
  • const的用法,特别是用在函数前面与后面的区别
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • #宝哥教你#查看jquery绑定的事件函数
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (0)Nginx 功能特性
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (四)c52学习之旅-流水LED灯
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一) springboot详细介绍
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转) ns2/nam与nam实现相关的文件
  • (转)Oracle 9i 数据库设计指引全集(1)