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 test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("---------简陋日历小程序-------");
System.out.println("请输入日期(格式如下:2019-2-21):");
String str = in.nextLine();
DateFormat f = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = f.parse(str);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int nowDay = calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE, 1);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 0; i < calendar.get(Calendar.DAY_OF_WEEK) - 1; i++) {
System.out.print("\t");
}
int max = calendar.getActualMaximum(Calendar.DATE);
for (int i = 1; i <= max; i++) {
if (i == nowDay)
System.out.print("*" + i + "\t");
else
System.out.print(i + "\t");
int d = calendar.get(Calendar.DAY_OF_WEEK);
if (d == Calendar.SATURDAY)
System.out.println();
calendar.add(Calendar.DATE, 1);
}
System.out.print("\n----------日历生成完毕--------");
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出:
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java...
---------简陋日历小程序-------
请输入日期(格式如下:2019-2-21):
2019-2-21
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 *21 22 23
24 25 26 27 28
----------日历生成完毕--------