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,不知道哪里錯了
java用calendar編寫日歷
holy_yakutsk
2017-06-20 18:12:43