package com.yb2; import javax.swing.*; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Scanner; public class Test1 { public static void main(String[] args) { //拿一个扫描器 Scanner sc=new Scanner(System.in); //给个提示 System.out.println("请输入你要查看的日期:(提示:请按照 1997-12-13 的格式录入)"); //录入一个字符串 String date1=sc.next(); //2020-12-13 //将String -->转化为Calender //先将String 转化为sql java.sql.Date date2=java.sql.Date.valueOf(date1);// 用到valueOf 方法 //给个对象 Calendar cal1=new GregorianCalendar(); //在将sql转化为 calender cal1.setTime(date2); //通过 calender 找到int 类型的数 int year3=cal1.get(Calendar.YEAR); int month3=cal1.get(Calendar.MONTH); //11-10 int date3=cal1.get(Calendar.DATE); int weekday3=cal1.get(Calendar.DAY_OF_WEEK); //周日 -1 int count3=cal1.getActualMaximum(Calendar.DATE);//本月最大的天数 //根据int类型的数,找到对应的年份的日历 //System.out.println(a); int count1=0;//给个计数器,然后记录需要n的地方 System.out.println("日t一t二t三t四t五t六"); //int a=weekday3-(date3%7);//计算前面需要空开的格数(这个错误) int count2=0;//记录前面空格数 //第一种方法获取空格数 for (int i = 0; i < 7; i++) { if((date3%7+i)%7==weekday3){ //这个可以正确计算前面的空格数 count2=i; break; } } //第二种方法获取空格数 cal1.set(Calendar.DATE,1); count2=cal1.get(Calendar.DAY_OF_WEEK)-1; for (int i = 1; i <=count2 ; i++) { //空开格数 System.out.print("t");//打印空格数 count1++; //记录空开的格数 } for (int i = 1; i <=count3 ; i++) { if (i != date3) { //判断日期是否为当前的日期 System.out.print(i + "t"); } else { //Integer b=new Integer(date3); //把当前的日期改成字符串 System.out.print(i+"*t"); } count1++; if (count1 % 7 == 0) { System.out.println("n"); } } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)