高琪java300集可视化日历

高老师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

相关文章
相关标签/搜索