如何编码日历java
使用 Java 编写日历程序
Java 提供了多种方式来实现日历功能,以下是一种基于 java.util.Calendar 和 java.text.SimpleDateFormat 的简单实现方法。
导入必要的类
import java.util.Calendar;
import java.text.SimpleDateFormat;
获取当前日期并格式化
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(calendar.getTime());
System.out.println("当前日期: " + formattedDate);
打印某年某月的日历
以下代码可以打印指定年份和月份的日历:
public static void printCalendar(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, 1); // 月份从0开始,所以减1
int startDay = cal.get(Calendar.DAY_OF_WEEK); // 获取当月第一天是星期几
int numberOfDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取当月的天数
System.out.println("日 一 二 三 四 五 六");
// 打印前面的空格
for (int i = 1; i < startDay; i++) {
System.out.print(" ");
}
// 打印日期
for (int i = 1; i <= numberOfDays; i++) {
System.out.printf("%2d ", i);
if ((i + startDay - 1) % 7 == 0) {
System.out.println();
}
}
System.out.println();
}
调用方法打印日历
public static void main(String[] args) {
printCalendar(2023, 10); // 打印2023年10月的日历
}
使用 Java 8 的 java.time API
Java 8 引入了新的日期时间 API,以下是使用 java.time 的示例:

导入必要的类
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
打印日历的实现
public static void printCalendarWithJavaTime(int year, int month) {
YearMonth yearMonth = YearMonth.of(year, month);
LocalDate firstDay = yearMonth.atDay(1);
int lengthOfMonth = yearMonth.lengthOfMonth();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
System.out.println("当前月份: " + firstDay.format(formatter));
System.out.println("日 一 二 三 四 五 六");
int dayOfWeek = firstDay.getDayOfWeek().getValue() % 7; // 1=Monday...7=Sunday
for (int i = 0; i < dayOfWeek; i++) {
System.out.print(" ");
}
for (int day = 1; day <= lengthOfMonth; day++) {
System.out.printf("%2d ", day);
if ((day + dayOfWeek) % 7 == 0) {
System.out.println();
}
}
System.out.println();
}
调用方法打印日历
public static void main(String[] args) {
printCalendarWithJavaTime(2023, 10); // 打印2023年10月的日历
}
这两种方法都可以实现日历功能,java.time API 是更现代和推荐的方式。






