package com.sxt;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class CalendarDemo {
public static void printCalendar(Calendar c, int day) {
Scanner sc = new Scanner(System.in);
StringBuffer sb = new StringBuffer();
sb.append("\t日\t一\t二\t三\t四\t五\t六\t").append("\n");
for (int i = 1; i < c.get(Calendar.DAY_OF_WEEK); i++) {
sb.append("\t");
}
//获得当前月份的天数
int max = c.getActualMaximum(Calendar.DATE);
//获得当月一号对应的常量值是3
int k = c.get(Calendar.DAY_OF_WEEK);
for (int i = 1; i <= max; i++) {
sb.append("\t").append(i);
if (i == day) {
sb.append("*");
}
else if((i + k) % 7 == 1) {
sb.append("\n");
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.println("请输入日期:格式(2017-8-2)");
String dd = sc.next();
// 日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dd);
// 得到Calendar类型的通用对象
Calendar c = Calendar.getInstance();
// 将给定的date设置成日历的时间
c.setTime(date);
int year = c.get(Calendar.DAY_OF_YEAR);
System.out.println(year);
// 获得给定的日期的第几号。
int day = c.get(Calendar.DATE);
System.out.println(day);
// 设置当前月份的一号
c.set(Calendar.DATE, 1);
printCalendar(c, day);
}
}
java 根据输入的时间打印本月的日历
最新推荐文章于 2023-07-24 23:44:01 发布