package calendar; 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 MyCalendar { public void print() { // System.out.println("按格式输入查询日期 yyyy-MM-dd"); //把字符串时间改为date类型 try { String date1="2017-02-20"; DateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Date d = df.parse(date1); //把时间传进去 Calendar cal = new GregorianCalendar(); cal.setTime(d); cal.set(Calendar.DATE, 1); //以上完全不知道搞个什么eqe int week=Calendar.DAY_OF_WEEK;//获取周几 System.out.println(week); int da=cal.getActualMaximum(Calendar.DATE);//月的天数 System.out.println("日\t一\t二\t三\t四\t五\t六"); for(int i=1;i<week;i++){ System.out.print("\t"); } for(int i=1;i<=da;i++){ System.out.print(i+"\t"); week++; if((week-1)%7==0){ System.out.println("\t"); } } } catch (ParseException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } public static void main(String[] args) { MyCalendar w = new MyCalendar(); w.print(); // System.out.println(w.getActualMaximum(2014, 2)); // Scanner temp=new Scanner(System.in); // String date=temp.next(); } }
反正问题挺大的,一顿瞎写,求大神写个完美版,来参考。
目的是输入日期yyyy-MM-dd,就打印输出类似的日历,,,,
还有每次输出的周几都是7,不知道哪里错了
相关分类