首页 > 代码库 > Java日历模型:输入一个日期,控制台显示

Java日历模型:输入一个日期,控制台显示

 

 1 package com.zhen.calendar; 2  3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 import java.util.Scanner; 9 10 /*11  * 输入一个日期,控制台显示12  * 格式:2014080813  */14 15 public class CalendarMain {16     public static void main(String[] argus)17     {18         System.out.println("请输入一个日期(格式:20140808):  ");19         20         Scanner scanner = new Scanner(System.in);21         String sTemp = scanner.nextLine();                                    //获取输入字符22         23         CalendarMain calendar = new CalendarMain();24         calendar.myCalendar(sTemp);25         26         scanner.close();                                                    //关闭输入流27     }28     29     private void myCalendar(String sTestDate)30     {31         DateFormat df = new SimpleDateFormat("yyyyMMdd");                    //检查格式化32         try{33             Date date = df.parse(sTestDate);34             Calendar calendar = new GregorianCalendar();35             calendar.setTime(date);36             int iYear = calendar.get(Calendar.YEAR);                        //获取输入的年份37             int iMonth = calendar.get(Calendar.MONTH);                        //获取输入的月份38             int iDate = calendar.get(Calendar.DATE);                        //获取输入的日期39             40             calendar.set(Calendar.DATE, 1);                                    //获取输入月份1号41             int iFirstDay = calendar.get(Calendar.DAY_OF_WEEK);                //获取输入月份1号是星期几42             int iMaxDate = calendar.getActualMaximum(Calendar.DATE);        //获取输入月份的最大天数43             44             /*45             //获取本地时间46             calendar.setTime(new Date());47             int iCurYear = calendar.get(Calendar.YEAR);48             int iCurMonth = calendar.get(Calendar.MONTH);49             int iCurDate = -1;50             if(iCurYear == iYear && iCurMonth == iMonth)51             {52                 iCurDate = calendar.get(Calendar.DATE);53             }54             */55 56             System.out.println("-- "+ iYear +"年"+(iMonth+1)+"月"+"\n");        //月份从0开始57             System.out.println("日\t一\t二\t三\t四\t五\t六");58             59             int j=iFirstDay;60             for(int i=1;i<=iMaxDate;i++)61             {62                 if(i == 1 && i<iFirstDay)                                    //1号时,判定前面空多少‘\t‘63                 {64                     int iTemp = i;65                     while(iTemp < iFirstDay)66                     {67                         System.out.print(‘\t‘);68                         iTemp++;69                     }70                 }71                 String sDate = i<10 ? "0"+i : i+ "";                        //格式化日期72                 if(iDate == i)73                 {74                     sDate += "**";                                            //当前输入的日期加**75                 }76                 System.out.print(sDate +"\t");77                 78                 if(j%7==0)                                                    //换行79                 {80                     System.out.println();81                 }82                 j++;83             }84         }85         catch(Exception e)86         {87             88         }89         90     }91     92 }

 

Java日历模型:输入一个日期,控制台显示