import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Calen {
public static void main(String[] args) throws ParseException {
Scanner sc= new Scanner(System.in);
System.out.println("请输入您要查询的日期:");
String str1 = sc.next();
getWannianli(str1);
}
/**
* 传递参数str1
* 若要传递date,把方法里面的第一行移出外面即可
* @param str1
* @throws ParseException
*/
public static void getWannianli(String str) throws ParseException {
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(str);
//创建一个日历;类
Calendar c = Calendar.getInstance();
//和日期类进行关联;
c.setTime(date);
//获得日期;
int mon=c.get(Calendar.MONTH);
int today = c.get(Calendar.DAY_OF_MONTH);
System.out.println("日\t一\t二\t三\t四\t五\t六");
//获得当前月的1号
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.DAY_OF_MONTH, );
//获得一号是周几
int weekday = c.get(Calendar.DAY_OF_WEEK);
//System.out.println(weekday);
//jiang将本月一号放在对应的星旗下
for(int i=1;i<weekday;i++) {
System.out.print("\t");
}
while(mon == c.get(Calendar.MONTH)) {
if(today == c.get(Calendar.DAY_OF_MONTH)) {
System.out.print("*"+c.get(Calendar.DAY_OF_MONTH)+"\t");
}else {
System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");
}
//当天天数加一
c.add(Calendar.DAY_OF_MONTH, 1);
//换行
if(c.get(Calendar.DAY_OF_WEEK)==1) {
System.out.print("\n");
}
}
}
}
控制台输出情况: