1 package com.msb.test02;
2
3 import java.util.Calendar;
4 import java.util.GregorianCalendar;
5 import java.util.Scanner;
6
7 /**
8 * 开发人:liu
9 * 日期:10:50:35
10 * 描述:IntelliJ IDEA
11 * 版本:1.0
12 */
13 public class Test06 {
14 //这是一个main方法:是程序的入口
15 public static void main(String[] args) {
16 //String--->Calendar
17 Scanner sc=new Scanner(System.in);
18 System.out.print("请输入你想要查看的日期:(提示:请按照例如1900-01-01格式)");
19 //录入日期的字符串
20 String sDate=sc.next();
21 sc.close();
22 java.sql.Date date=java.sql.Date.valueOf(sDate);
23 //Date---》Calendar
24 Calendar cal=new GregorianCalendar();
25 cal.setTime(date);
26 //后续操作
27 //星期提示:
28 System.out.println("日\t一\t二\t三\t四\t五\t六");
29 //引入计数器
30 int count=0;//计数器最开始值为0
31 //获取本月最大天数
32 int maxDay=cal.getActualMaximum(Calendar.DATE);
33 //获取当前日期中的日
34 int nowDay=cal.get(Calendar.DATE);
35 //设置为每月的1号用于计算星期
36 cal.set(Calendar.DATE,1);
37 //获取当前日期属于本周的第几天
38 int num=cal.get(Calendar.DAY_OF_WEEK);
39 //在日期前将空格打印出来
40 for (int i = 0; i < num-1; i++) {
41 System.out.print("\t");
42 count++;
43 }
44 for (int i = 1; i <=maxDay; i++) {
45 if (i == nowDay) {//如果遍历的i和当前日子一样的话在后面多加一个*
46 System.out.print(i+"*"+"\t");
47 }else System.out.print(i+"\t");
48 count++;//每在控制台上面输入一个数字,计数器做加1操作
49 if (count%7==0){
50 System.out.println();
51 }
52 }
53 }
54 }