用Java输出当前月份前一个月的日历 带有星期的
时间: 2024-01-22 20:20:34 浏览: 66
以下是用 Java 输出当前月份前一个月的日历并带有星期的示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class CalendarExample {
public static void main(String[] args) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 将日期设置为上个月
calendar.add(Calendar.MONTH, -1);
// 获取上个月的天数
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 获取上个月的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 输出星期几的标题
String[] weekdays = new DateFormatSymbols(Locale.getDefault()).getShortWeekdays();
for (int i = 1; i <= 7; i++) {
System.out.printf("%4s", weekdays[i]);
}
System.out.println();
// 输出上个月的日历
for (int i = 1; i < firstDayOfWeek; i++) {
System.out.printf("%4s", "");
}
for (int i = 1; i <= daysInMonth; i++) {
System.out.printf("%4d", i);
if ((firstDayOfWeek + i - 1) % 7 == 0) {
System.out.println();
}
}
}
}
```
运行以上代码,会输出当前月份前一个月的日历并带有星期的效果,如下所示:
```
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
```
阅读全文