Java输入一个年份和月份,打印出对应的日历包括星期
时间: 2024-10-22 18:19:40 浏览: 27
在Java中,你可以使用`java.time`包下的`MonthDay`和`YearMonth`类来获取给定年月的日历信息,包括星期几。以下是一个简单的示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 获取用户输入的年份和月份
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
// 创建日期对象
LocalDate date = LocalDate.of(year, month, 1);
// 格式化日期并获取星期几
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = date.format(formatter);
System.out.println("Formatted Date: " + formattedDate);
// 获取星期几 (0表示星期一,6表示星期日)
int dayOfWeek = date.getDayOfWeek().getValue();
String weekDayName = LocalDate.getDayOfWeek(dayOfWeek).getDisplayName(TextStyle.FULL, Locale.getDefault());
System.out.println("Week Day: " + weekDayName);
// 打印完整月份的日历
for (int i = 1; i <= date.lengthOfMonth(); i++) {
System.out.printf("%d ", i);
if ((i % 7) == 0) { // 每一行结束
System.out.println();
}
}
}
}
```
这个程序首先将输入转换成`LocalDate`对象,然后使用`DateTimeFormatter`格式化日期并获取星期几。最后,它遍历整个月份,打印出每一天。
阅读全文