使用java.util.Calendar
类可以很方便地编写一个日历程序。下面是一个示例代码,展示了如何使用Calendar
类来打印一个特定月份的日历:
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
// 设置日期为指定月份的第一天
calendar.set(year, month, 1);
// 获取该月的天数
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 获取该月的第一天是星期几
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 打印日历标题
System.out.println("日 一 二 三 四 五 六");
// 打印该月的第一周前面的空格
for (int i = 1; i < firstDayOfWeek; i++) {
System.out.print(" ");
}
// 打印该月的日期
for (int day = 1; day <= daysInMonth; day++) {
System.out.printf("%2d ", day);
// 换行
if ((day + firstDayOfWeek - 1) % 7 == 0) {
System.out.println();
}
}
}
}
这个程序首先获取当前的年份和月份,然后使用Calendar
类设置日期为该月的第一天。接下来,它获取了该月的天数和第一天是星期几。然后,它按照每周七天的顺序打印出日历。在循环中,首先打印出该月的第一周前面的空格,然后按照每周七天的顺序打印出日期。如果遇到周日,则换行。