java实现获取上一个月所有日期信息并返回
时间: 2023-09-06 11:09:14 浏览: 81
以下是Java实现获取上一个月所有日期信息并返回的示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class PreviousMonthDays {
public static void main(String[] args) {
List<String> dates = getPreviousMonthDays();
for (String date : dates) {
System.out.println(date);
}
}
/**
* 获取上一个月所有日期信息
*
* @return 日期列表,格式为yyyy-MM-dd
*/
public static List<String> getPreviousMonthDays() {
List<String> dates = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int days = getDaysOfMonth(year, month);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (int i = 1; i <= days; i++) {
Date date = new Date(year - 1900, month - 1, i);
String dateString = sdf.format(date);
dates.add(dateString);
}
return dates;
}
/**
* 获取指定年月的天数
*
* @param year 年份
* @param month 月份
* @return 天数
*/
public static int getDaysOfMonth(int year, int month) {
int days = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
} else {
days = 28;
}
break;
default:
break;
}
return days;
}
}
```
代码中使用Calendar类获取到上个月的年份和月份,然后根据年份和月份获取到上个月的天数,并使用SimpleDateFormat类将日期格式化成yyyy-MM-dd的形式,最后将所有日期信息保存到一个列表中并返回。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![java](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)