Java获取两个指定日期之间的所有月份
2024-08-25 04:00:19
String y1 = "2016-02";// 开始时间
String y2 = "2019-12";// 结束时间 try {
Date startDate = new SimpleDateFormat("yyyy-MM").parse(y1);
Date endDate = new SimpleDateFormat("yyyy-MM").parse(y2); Calendar calendar = Calendar.getInstance();
calendar.setTime(startDate);
// 获取开始年份和开始月份
int startYear = calendar.get(Calendar.YEAR);
int startMonth = calendar.get(Calendar.MONTH);
// 获取结束年份和结束月份
calendar.setTime(endDate);
int endYear = calendar.get(Calendar.YEAR);
int endMonth = calendar.get(Calendar.MONTH);
//
List<String> list = new ArrayList<String>();
for (int i = startYear; i <= endYear; i++) {
String date = "";
if (startYear == endYear) {
for (int j = startMonth; j <= endMonth; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
} } else {
if (i == startYear) {
for (int j = startMonth; j < 12; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
} else if (i == endYear) {
for (int j = 0; j <= endMonth; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
} else {
for (int j = 0; j < 12; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
} } } // 所有的月份已经准备好
//System.out.println(list);
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
} } catch (Exception e) {
e.printStackTrace();
}
最新文章
- C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程
- OData V4 系列 .net应用
- linux 分区 物理卷 逻辑卷
- Linux 性能监测:Network
- 2016 - 1- 22 img tag and the lists (intro to HMTL&;CSS)
- Using Git subtrees to split a repository
- 第二百一十九天 how can I 坚持
- Nginx的一些基本功能极速入门
- Codeforces Round#201(div1) D. Lucky Common Subsequence
- 提升html5的性能体验系列之三流畅下拉刷新
- Linux系统管理10——进程和计划任务管理
- angularJS的一点小笔记
- HTTP1.0和HTTP1.1的区别
- mysql多表关联update修改操作
- Databinding in WPF
- 将sqlServer上的数据库文件进行盘目的迁移
- STL中的map
- 转 HTTP.SYS 详解
- 纯css画三角形,勾等形状
- Google Kickstart在线测试规则以及注意事项