首页 > 代码库 > 可视化日历_Java实现

可视化日历_Java实现

//刚刚学Java,写的小程序

 1 package cn.xiaocangtian.testDate; 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 xiaocangtian14  *15  */16 public class VisualCalendar {17     public static void main(String[] args) {18     19         System.out.println("输入日期(按照格式:2004-3-10): ");20         Scanner scanner = new Scanner(System.in);21         22         String temp = scanner.nextLine();                            //输入日期23         24         DateFormat format = new SimpleDateFormat("yyyy-MM-dd");      //初始化格式25         try {26             Date date = format.parse(temp);27             Calendar calender = new GregorianCalendar();            28             calender.setTime(date);   29             30             int day = calender.get(Calendar.DATE);                   //得到日期--几号31 32             calender.set(Calendar.DATE, 1);                          //设置日期1号, 想要知道,当前日期1号在一周的第几天33             System.out.println(calender.get(Calendar.DAY_OF_WEEK));  //该日期在 一周的第几天(日:1, 一:2,....六:7)34             35             int maxDate = calender.getActualMaximum(Calendar.DATE);  //月最大日36             37             System.out.println("日\t一\t二\t三\t四\t五\t六");38             39             //移动到 当前日期1号在一周的 第几天40             for (int i = 0; i < calender.get(Calendar.DAY_OF_WEEK) - 1; i++) {41                 System.out.print(‘\t‘);42             }43             44             int j = 0;45             //可视化日历程序46             for (int i = 1; i <= maxDate; i++) {47                 if (i == day) {                              //得到我设置的日期,在那天设置 特别标记 *48                     System.out.print("*");49                 }50                 System.out.print(i + "\t");51                 int w = calender.get(Calendar.DAY_OF_WEEK);  //得到当前日期 是  一周的第几天52                 if (w == Calendar.SATURDAY) {                //遇到周六换行53                     System.out.println();54                 }55                 calender.add(Calendar.DATE, 1);              //将日期+156             }57         } catch (ParseException e) {58             // TODO Auto-generated catch block59             e.printStackTrace();60         }61         62     }63 }

技术分享

可视化日历_Java实现