高老師java300集中經常使用類的介紹中有可視化日曆實驗 本身嘗試寫了下,主要是爲了瞭解Date類, SimpleDateFormat類,Calendar類。java
1 package GaoQiJava300Study.Eight; 2 3 import java.text.ParseException; 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 public class TestCalender2 { 11 public static void main(String[] args) throws ParseException { 12 System.out.println("請輸入日期(格式爲:2019-4-27)"); 13 Scanner input=new Scanner(System.in); 14 String indate=input.nextLine();//輸入字符串(日期) 15 16 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");// 把時間對象轉化成指定格式的字符串。反之,把指定格式的字符串轉化成時間對象 17 Date date= simpleDateFormat.parse(indate);//時間類 18 19 System.out.println("您剛剛輸入的日期是 "+simpleDateFormat.format(date));//這裏能夠直接輸出indate 20 21 System.out.println("日\t一\t二\t三\t四\t五\t六"); 22 GregorianCalendar calendar=new GregorianCalendar(); 23 calendar.setTime(date);//日曆類 24 25 int day=calendar.get(Calendar.DAY_OF_MONTH);//當前是這個月第幾天 26 calendar.set(Calendar.DATE, 1);//將日曆的時間從1號開始計算 27 int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//每月有多少天 28 int spaceday=calendar.get(Calendar.DAY_OF_WEEK); 29 30 //限定每月第一天的位置 31 for(int i=1;i<spaceday;i++){ 32 System.out.print("\t"); 33 } 34 //輸出 35 for(int i=1;i<=maxday;i++){ 36 37 if(i==day) 38 { 39 System.out.print("*"); 40 } 41 System.out.print(""+i+"\t"); 42 calendar.set(Calendar.DATE, i); 43 //每週六就換行 44 int zhouliu=calendar.get(Calendar.DAY_OF_WEEK); 45 if(zhouliu==7){ 46 System.out.println(); 47 } 48 } 49 } 50 }
實驗結果spa