Java输出日历
Posted CodingDGSun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java输出日历相关的知识,希望对你有一定的参考价值。
使用键盘输入日期,输出当月日历
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入日期,比如:2021-06-18");
String strDate = sc.next();//接收用户输入的日期
//System.out.println("日期是:" + strDate);//输出日期
System.out.println("日\\t一\\t二\\t三\\t四\\t五\\t六");
java.sql.Date date = java.sql.Date.valueOf(strDate);//将字符串日期strDate转换成java.sql.Date
Calendar calendar = Calendar.getInstance();//声明日历类,方式一
//Calendar calendar = new GregorianCalendar();//声明日历类,方式二
calendar.setTime(date);//设置日期
//System.out.println(calendar);
int maxDate = calendar.getActualMaximum(Calendar.DATE);//获取当月最大天数,比如6月有30天,7月有31天
int day = calendar.get(Calendar.DATE);//获取当前日
calendar.set(Calendar.DATE, 1);//设置当前日为1号
int num = calendar.get(Calendar.DAY_OF_WEEK);//获取1号是一周中的第几天,比如周日是一周中的第1天
int count = num - 1;//计数器,每7天输出换行,包括输出的空区域num-1
for (int i = 1; i < num; i++) {
//输入num个空区域,比如1号是第一周的中的第3天,则1号是周二,前面应该输出2个空区域
System.out.print("\\t");
}
for (int i = 1; i <= maxDate; i++) {
if (day == i) {//如果是当前日,则用*标注
System.out.print(i + "*\\t");
} else {
System.out.print(i + "\\t");
}
count++;
if (count % 7 == 0) {
//count计数器,每7个换行
System.out.println();
}
}
}
输出结果
请输入日期,比如:2021-06-18
2021-07-18
日 一 二 三 四 五 六
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
以上是关于Java输出日历的主要内容,如果未能解决你的问题,请参考以下文章
片段(Java) | 机试题+算法思路+考点+代码解析 2023
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段