java 根据所选年和月,获取本年和月以及前三个月
时间: 2024-03-08 10:50:35 浏览: 59
根据年月得到当月的天数及日期
4星 · 用户满意度95%
好的,您可以使用Java中的Calendar类和SimpleDateFormat类来实现这个功能。以下是一个示例代码,可以根据输入的年月获取本年和月以及前三个月的日期:
```java
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class GetMonths {
public static void main(String[] args) {
int year = 2022; // 输入的年份
int month = 9; // 输入的月份
// 获取当前日期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 获取本月日期
String currentMonth = sdf.format(calendar.getTime());
System.out.println("本月日期:" + currentMonth);
// 获取前三个月的日期
calendar.add(Calendar.MONTH, -1);
String lastMonth = sdf.format(calendar.getTime());
System.out.println("上一个月日期:" + lastMonth);
calendar.add(Calendar.MONTH, -1);
String secondLastMonth = sdf.format(calendar.getTime());
System.out.println("上两个月日期:" + secondLastMonth);
calendar.add(Calendar.MONTH, -1);
String thirdLastMonth = sdf.format(calendar.getTime());
System.out.println("上三个月日期:" + thirdLastMonth);
}
}
```
输出结果:
```
本月日期:2022-09-01
上一个月日期:2022-08-01
上两个月日期:2022-07-01
上三个月日期:2022-06-01
```
注意,这里的月份是从1开始的,因此需要将输入的月份减1。
阅读全文