可视化万年历

 1 package cn.zhang.test;
 2 
 3 import java.text.DateFormat;
 4 import java.text.ParseException;
 5 import java.text.SimpleDateFormat;
 6 import java.util.Calendar;
 7 import java.util.Date;
 8 import java.util.GregorianCalendar;
 9 import java.util.Scanner;
10 
11 /**
12   * 可视化日历程序
13  * @author 张涛
14  *
15  */
16 public class TestCalendar_2 {
17 
18     public static void main(String[] args) throws ParseException {
19         
20         Scanner sc = new Scanner(System.in);
21         System.out.println("请输入时间,格式如下 (2019-8-20):");
22         String str = sc.nextLine();
23         
24         //第一步先将字符串按照"格式字符串指定格式"转化为时间对象
25         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
26         Date d = df.parse(str);
27         //System.out.println(d); 
28         
29         //将字符串转化为时间对象之后,再将时间对象转化为日期类对象
30         Calendar c = new GregorianCalendar();
31         c.setTime(d);
32         //System.out.println(c);
33         
34         //打印格式
35         System.out.println("日	一	二	三	四	五	六");
36         
37         int day = c.get(Calendar.DATE);
38         
39         //将月中天数从1开始记录
40         c.set(Calendar.DAY_OF_MONTH,1);
41         
42         //将1号与相应的星期几对应起来
43         for(int i=0; i<c.get(Calendar.DAY_OF_WEEK)-1; i++) {
44             System.out.print("	");
45         }
46         
47         //获得本月的天数
48         int days = c.getActualMaximum(Calendar.DATE);
49         
50         for(int i=1; i<=days;i++) {
51             
52             if(day == c.get(Calendar.DATE) ) {
53                 
54                 System.out.print(c.get(Calendar.DATE)+"*	");
55                 
56             }else {
57                 
58                 System.out.print(c.get(Calendar.DATE)+"	");
59                 
60             }
61             
62             //星期六开始换行
63             if(c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
64                 
65                 System.out.println();
66                 
67             }
68             //天数自增
69             c.add(Calendar.DAY_OF_MONTH, 1);
70             
71         }
72         
73     }
74     
75 }
原文地址:https://www.cnblogs.com/zhangqiling/p/11384705.html