java 根据所选年月获取相邻四个月
时间: 2023-08-12 21:03:28 浏览: 47
你可以使用 Java 中的 Calendar 类来根据所选年月获取相邻四个月。以下是一个示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
int year = 2022;
int month = 9;
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1);
for (int i = -2; i <= 2; i++) {
calendar.add(Calendar.MONTH, i);
int y = calendar.get(Calendar.YEAR);
int m = calendar.get(Calendar.MONTH) + 1;
System.out.println(y + "-" + m);
calendar.add(Calendar.MONTH, -i);
}
}
}
```
输出结果:
```
2022-7
2022-8
2022-9
2022-10
2022-11
```
在这个示例中,我们首先设置所选的年份和月份。然后,我们创建一个 Calendar 实例,并将其设置为所选的年份和月份的第一天。接下来,我们使用循环计算出前后相邻的四个月,并将这些月份的年份和月份打印出来。
相关问题
Java 根据当前年月获取上一个月的年月
要根据当前年月获取上一个月的年月,可以使用 Java 中的 Calendar 类来实现。以下是一个示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1); // 将当前日期减去一个月
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从 0 开始,需要加 1
System.out.println("上一个月的年月为:" + year + "-" + month);
}
}
```
运行以上代码,将输出上一个月的年月,格式为 "年-月"。请注意,如果当前月份是一月份,则会返回上一年的十二月份。
希望能对您有所帮助!如果您有其他问题,请随时提问。
java 根据年月获取日历
你可以使用 Java 中的 `Calendar` 类来获取指定年月的日历。以下是一个示例代码:
```java
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
int year = 2022;
int month = 1; // January (0 - 11)
// Create a Calendar instance
Calendar calendar = Calendar.getInstance();
// Set the year and month
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
// Get the number of days in the month
int numDays = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// Print the calendar
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
// Set the calendar to the first day of the month
calendar.set(Calendar.DAY_OF_MONTH, 1);
// Print the first week of the month
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
for (int i = 0; i < dayOfWeek; i++) {
System.out.print(" ");
}
for (int i = 1; i <= 7 - dayOfWeek; i++) {
System.out.printf("%3d ", i);
}
System.out.println();
// Print the remaining weeks of the month
for (int i = 7 - dayOfWeek + 1; i <= numDays; i++) {
System.out.printf("%3d ", i);
if ((i + dayOfWeek - 1) % 7 == 0) {
System.out.println();
}
}
}
}
```
在此示例中,我们使用 `Calendar.getInstance()` 方法创建了一个 `Calendar` 实例。然后,我们设置了年份和月份,并使用 `getActualMaximum()` 方法获取了该月的天数。接下来,我们打印了日历的表头,然后将日历设置为该月的第一天,并打印了第一周。最后,我们打印了剩余的周。