基于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;

public class VisualCalendar {
	public static void main(String[] args) {
		System.out.println("请输入日期(按照格式:2030-3-10):"); 
		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);
			int maxDate = calendar.getActualMaximum(Calendar.DATE);
			System.out.println("日\t一\t二\t三\t四\t五\t六");
			for(int i=1;i<calendar.get(Calendar.DAY_OF_WEEK);i++){
				System.out.print('\t');
			}
			for(int i=1;i<=maxDate;i++){
				if(i==day){
					System.out.print("*");
				}
				System.out.print(i+"\t");
				int  w = calendar.get(Calendar.DAY_OF_WEEK);
				if(w==Calendar.SATURDAY){
					System.out.print('\n');
				}
				calendar.add(Calendar.DATE, 1);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
	}
}

在这里插入图片描述
笔记:
1、Calendar是一个抽象类,不能直接New一个实例,可以有两种方法得到它的实例:
(1)获取时间

Calendar cal = new GregorianCalendar();

(2)add()方法,时间计算

calendar.add(Calendar.DATE, 1);

(3)设置时间:set()方法
2、DateFormat
用途:定义日期时间格式,格式化日期时间参数

import java.util.Date; 
import java.text.DateFormat; 
import java.text.SimpleDateFormat;
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");

3、Scanner

用法:常用于控制台的输入,当需要使用控制台输入时即可调用这个类

Scanner sc=new Scanner(System.in); 

(1)nextInt()只读取数值

 sc.nextInt();

(2)next()方法遇到第一个扫描有效字符,即第一个非空格非换行符后面开始,一直获取到下一个空格,换行符之前的,单个字符串

sc.next();

(3)nextLine()可以扫描到一行内容并作为一个字符串而被获取到

sc.nextLine();

猜你喜欢

转载自blog.csdn.net/weixin_37411471/article/details/88390958
今日推荐