Visual Calendar 可视化日历程序(有效训练时间类)

改程序很好地训练了对Java时间类的掌握:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/**
 * 自制可视化日历程序
 * @author Administrator
 *
 */
public class Test00 {
		public static void main(String[] args) {
			System.out.println("请按照指定格式输入日期:(格式2018-8-8)");
			Scanner scanner = new Scanner(System.in);
			String temp = scanner.nextLine();
			DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
			try {
				Date date = format.parse(temp);
				Calendar calendar = new GregorianCalendar();
				calendar.setTime(date);
				int day = calendar.get(Calendar.DATE);
				calendar.set(Calendar.DATE,1);
				System.out.println("\t\t\t"+calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月");
				System.out.println("日\t一\t二\t三\t四\t五\t六");
				int j = 0;
				for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++) {
					System.out.print("\t");
				}
				
				for(int i=1;i<=calendar.getActualMaximum(Calendar.DATE);i++) {
					if(day==i) {
						System.out.print("*");
					}
					System.out.print(i+"\t");
					if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {
						System.out.println();
					}
					calendar.add(Calendar.DATE, 1);
				}
				
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("\n标记*号代表输入的日期号");
		}
}
输出结果显示如下:


请按照指定格式输入日期:(格式2018-8-8)
2018-8-9
			2018年8月
日	一	二	三	四	五	六
			1	2	3	4	
5	6	7	8	*9	10	11	
12	13	14	15	16	17	18	
19	20	21	22	23	24	25	
26	27	28	29	30	31	
标记*号代表输入的日期号

猜你喜欢

转载自blog.csdn.net/szlg510027010/article/details/81530310