输出当前月份的前一个月的日历使用Java
时间: 2024-03-13 22:47:47 浏览: 74
好的,以下是Java代码实现:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class CalendarExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入日期(yyyy-MM):");
String input = scanner.nextLine();
// 使用Java 8的LocalDate类获取前一个月的日期
LocalDate date = LocalDate.parse(input + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate lastMonth = date.minusMonths(1);
// 获取前一个月的天数
int days = lastMonth.getMonth().length(lastMonth.isLeapYear());
// 输出日历
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 1; i <= days; i++) {
LocalDate temp = LocalDate.of(lastMonth.getYear(), lastMonth.getMonth(), i);
int weekDay = temp.getDayOfWeek().getValue();
if (i == 1) {
for (int j = 1; j < weekDay; j++) {
System.out.print("\t");
}
}
System.out.print(i + "\t");
if (weekDay == 6) {
System.out.println();
}
}
}
}
```
代码中使用了Java 8的新特性`LocalDate`类来处理日期,首先获取输入的日期,然后使用`minusMonths()`方法获取前一个月的日期。接着计算出前一个月的天数,并以表格形式输出日历。
阅读全文