public class ElectronicCalendar {
public static void main(String[] args) {
//设置时区
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
Scanner scanner=new Scanner(System.in);
while(true){
System.out.println("输入年:");
int year=scanner.nextInt();
System.out.println("输入月:");
int month=scanner.nextInt();
month--;//月份设计为0开始
Calendar calendar=Calendar.getInstance();
System.out.println(DateUtils.timeConversion(calendar.getTime(),"yyyy-MM-dd HH:mm:ss"));
//设置年
calendar.set(Calendar.YEAR,year);
//设置月
calendar.set(Calendar.MONTH,month);
//打印日历
print(calendar);
//是否继续
System.out.println("\n是否继续?y/n");
String answer=scanner.next();
if(answer.equals("n")){
System.exit(0);
}
}
}
public static void print(Calendar calendar){
System.out.println("日\t一\t二\t三\t四\t五\t六\t");
//获取该月最大天数
int day=calendar.getActualMaximum(Calendar.DATE);
//获取当月1号设置日期星期几
calendar.set(Calendar.DATE,1);
//外国人星期是从星期天开始的
int week=calendar.get(Calendar.DAY_OF_WEEK);
//1号除去
for(int i=0;i<week-1;i++){
System.out.print(" \t");
}
//周六打印换行
if(week==Calendar.SATURDAY){
System.out.println();
}
for(int i=1;i<=day;i++){
System.out.print(i+"\t");
calendar.set(Calendar.DATE,i);
int week2=calendar.get(Calendar.DAY_OF_WEEK);
if(week2==Calendar.SATURDAY){
System.out.println();
}
}
}
}
使用Calendar完成一个万年历 要求:键盘输入一个年份和月份,控制台输出当月的日历?
最新推荐文章于 2021-05-20 10:54:07 发布