根据输入的日期输出当月日历并标出当前日期
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
/*
* 根据输入的日期输出当月日历
* */
public class Hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入日期:(年月日,格式:2017-10-15)");
String inpiutStr = scanner.nextLine();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = df.parse(inpiutStr);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
// 获取当前日期日
int day = calendar.get(Calendar.DATE);
// 月份第一天
calendar.set(Calendar.DATE, 1);
// 月份第一天星期
int minDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 获取当月最后一日
int maxDay = calendar.getActualMaximum(Calendar.DATE);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 1; i < minDayOfWeek; i++) {
System.out.print("\t");
}
for (int i = 1; i <= maxDay; i++) {
if (i == day) {
System.out.print("*");// *当前日期
}
System.out.print(i + "\t");
int w = calendar.get(calendar.DAY_OF_WEEK);
if (w == Calendar.SATURDAY) {// 逢周六换行
System.out.println();
}
calendar.add(calendar.DATE, 1);// 日期+1
}
} catch (Exception e) {
e.printStackTrace();
} finally {
scanner.close();
}
}
}
输出当前月日历并标出当前日期
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/*
* 输出当月日历并标出当前日期
* */
public class Hello {
public static void main(String[] args) {
try {
Calendar calendar = new GregorianCalendar();
calendar.setTime(new Date());
// 获取当前日期日
int day = calendar.get(Calendar.DATE);
// 月份第一天
calendar.set(Calendar.DATE, 1);
// 月份第一天星期
int minDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 获取当月最后一日
int maxDay = calendar.getActualMaximum(Calendar.DATE);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 1; i < minDayOfWeek; i++) {
System.out.print("\t");
}
for (int i = 1; i <= maxDay; i++) {
if (i == day) {
System.out.print("*");// *当前日期
}
System.out.print(i + "\t");
int w = calendar.get(calendar.DAY_OF_WEEK);
if (w == Calendar.SATURDAY) {// 逢周六换行
System.out.println();
}
calendar.add(calendar.DATE, 1);// 日期+1
}
} catch (Exception e) {
e.printStackTrace();
}
}
}