使用JAVA写一个简单的日历

JAVA写一个简单的日历
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/**
* 制作一个简单的日历
*
* @author 这知识它不进脑子呀
*
*/
public class date {

public static void main(String[] args) {
// 从控制台输入
Scanner scanner = new Scanner(System.in);
// 提示用户
System.out.println("请输入日期(如:2019-5-16):");
// 获取输入的日期
String date = scanner.nextLine();
try {
// 日期格式化类
DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
// 把字符串类型的日期转换为date类型的
Date parse = dFormat.parse(date);
// 创建一个公历类的实例
Calendar calendar = new GregorianCalendar();
// 把格式化好的日期对象放进Calendar
calendar.setTime(parse);
// 获取今天是几号
int day = calendar.get(Calendar.DATE);
// DATE设置成这个月的一号
calendar.set(Calendar.DATE, 1);
// 获取这个月的第一天是周几
int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
// 获取每个月最大的天数
int maxDay = calendar.getActualMaximum(Calendar.DATE);

System.out.println("日\t一\t二\t三\t四\t五\t六");

// 循环打印 空格
for (int i = 1; i < weekDay; i++) {
System.out.print("\t");
}
// 循环打印天数
for (int i = 1; i <= maxDay; i++) {
// 判断如果i 等于 今天 前面打印一个❀做记号
if (i == day) {
System.out.print("❀");
}
// 打印 天数
System.out.print(i + "\t");
// 获取今天是周几
int w = calendar.get(Calendar.DAY_OF_WEEK);
// 如果今天是周六就让其换行
if (w == Calendar.SATURDAY) {
System.out.println();
}
// 天数自增
calendar.add(Calendar.DATE, 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
}

}

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

---------------------

上一篇:反射中getMethods 与 getDeclaredMethods 的区别


下一篇:Python语言的有限状态机实现样例