Java中实现日历表的功能可以通过使用java.util.Calendar
类和java.text.SimpleDateFormat
类来实现。
首先,可以使用Calendar
类获取当前日期并设置日期的相关属性,如年份、月份、日期等。然后,使用SimpleDateFormat
类将日期格式化为所需的格式。
以下是一个简单的示例代码,演示如何实现日历表的功能:
import java.util.Calendar;
import java.text.SimpleDateFormat;
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);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 打印日历表
System.out.println("日\t一\t二\t三\t四\t五\t六");
// 设置日期为当月的第一天
calendar.set(year, month, 1);
// 获取当月的第一天是星期几
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 打印第一天之前的空白格
for (int i = 1; i < firstDayOfWeek; i++) {
System.out.print("\t");
}
// 获取当月的天数
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 打印日期
for (int i = 1; i <= daysInMonth; i++) {
// 格式化日期
String formattedDate = sdf.format(calendar.getTime());
// 打印日期
System.out.print(i + "\t");
// 如果是星期六,换行
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
System.out.println();
}
// 将日期加一天
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
}
}
以上代码将输出当前月份的日历表,输出格式如下:
日 一 二 三 四 五 六
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
这是一个简单的示例,你可以根据需要对日期格式、日历表的样式等进行修改和扩展。