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 MakeCalendar {
public static void main(String[] args) throws ParseException {
System.out.println("请输入日期:(年月日,格式:2009-9-20):");
//设置时间为输入模式
Scanner s = new Scanner(System.in);
String str = s.nextLine();
//把时间DATE转给Calendar
DateFormat a = new SimpleDateFormat("yyyy-MM-dd");
Date c = a.parse(str);
Calendar b = new GregorianCalendar();
b.setTime(c);
//对本月进行处理
int day = b.get(b.DAY_OF_MONTH);
b.set(Calendar.DATE, 1); //将一个月的的第一天变为1号
int xingqiji = b.get(Calendar.DAY_OF_WEEK); //获得本日在这一周是星期几
int tianshu = b.getActualMaximum(Calendar.DATE); //获得本月的天数
//******************************
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int j = 1;j<xingqiji;j++){
System.out.print("\t");
}
for(int i = 1;i<=tianshu;i++){
if(i==day){
System.out.print("*");
}
System.out.print(i+"\t");
int e = b.get(b.DAY_OF_WEEK);
if(e==7){
System.out.println();
}
b.add(b.DATE, 1); //每进行一次循环就要增加一天
}
}
}
做一个日历,输入一个日期,可以生成当月的日历表,并且在对应的天数上面显示*号
最新推荐文章于 2024-07-17 09:27:44 发布