wnl.java

package com.nfsbbs.wang;

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

public class VisualCalendar {
public static void main(String[] args) throws ParseException{ //异常抛出
System.out.println("请输入日期(按照格式:201705):");

//输入日期并格式化为yyyyMM
Scanner sc = new Scanner(System.in);
String df = sc.nextLine();
DateFormat format = new SimpleDateFormat("yyyyMM");
Date da = format.parse(df);

System.out.println("日\t一\t二\t三\t四\t五\t六\t");

//把格式化后的日期输入日历
Calendar ca = new GregorianCalendar();
ca.setTime(da);
ca.set(Calendar.DATE,1); //确定第一天
for(int i = 1; i < ca.get(Calendar.DAY_OF_WEEK); i++){ //在日历上显示月初是星期几
System.out.print("\t");
}

//主循环
int md = ca.getActualMaximum(Calendar.DATE); //获取本月最大天数
for(int i = 1; i <= md; i++){
System.out.print(i + "\t");

int w = ca.get(Calendar.DAY_OF_WEEK); //获取当前是周几,每到周六换行
if(w == Calendar.SATURDAY){
System.out.println();
}
ca.add(Calendar.DATE,1); //日期+1,重新循环
}
}
}

posted on 2019-03-14 13:12  nicolesu  阅读(75)  评论(0编辑  收藏  举报