日历
package Mycal;
import java.io.FileWriter;
import java.util.Calendar;
public class GenCalHtml {
public String getCalTable(int year) {
String calStr = "";
calStr += "<table id='c' border='0' cellspacing='0' style = 'margin-left:18px;margin-top:18px;margin-right:18px;margin-bottom:18px'>";
calStr += "<tr>\r\n";
calStr += "<td align=center>" + getCalTable(year, 1) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 2) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 3) + "</td>\r\n";
calStr += "</tr>\r\n";
calStr += "<tr>\r\n";
calStr += "<td align=center>" + getCalTable(year, 4) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 5) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 6) + "</td>\r\n";
calStr += "</tr>\r\n";
calStr += "<tr>\r\n";
calStr += "<td align=center>" + getCalTable(year, 7) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 8) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 9) + "</td>\r\n";
calStr += "</tr>\r\n";
calStr += "<tr>\r\n";
calStr += "<td align=center>" + getCalTable(year, 10) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 11) + "</td>\r\n";
calStr += "<td align=center>" + getCalTable(year, 12) + "</td>\r\n";
calStr += "</tr>\r\n";
return calStr;
}
public static String getCalTable(int year, int month){
String calTable = "";
int numOfDays = getNumOfDays(year , month);
Calendar cal = Calendar.getInstance();
cal.set(year, month-1,1);
int beginDateOfWeek = cal.get(Calendar.DAY_OF_WEEK)-1;
calTable += "<table id='c' border='1' cellspacing=0 cellpadding=0 style='margin-left:18px;margin-top:18px;margin-right:18px;margin-bottom:18px'>";
calTable += "<tr>\r\n";
calTable += "<td height=25 align=center colspan=7><B>" + year + "年" + month + "月</B></td>\r\n";
calTable += "</tr>\r\n";
calTable += "<tr>\r\n";
calTable += "<td width=32 height=25 align=center>日</td>\r\n";
calTable += "<td width=32 align=center>一</td>\r\n";
calTable += "<td width=32 align=center>二</td>\r\n";
calTable += "<td width=32 align=center>三</td>\r\n";
calTable += "<td width=32 align=center>四</td>\r\n";
calTable += "<td width=32 align=center>五</td>\r\n";
calTable += "<td width=32 align=center>六</td>\r\n";
calTable += "</tr>\r\n";
int lineNo = 0;
int dateNum = 1;
calTable += "<tr>\r\n";
for ( int i=0;i<beginDateOfWeek; i++) {
calTable += "<td width=32 align=center> </td>\r\n";
}
for (int i=beginDateOfWeek; i<7; i++) {
calTable +="<td width=32 align=center>"+ dateNum +"</td>\r\n";
dateNum ++;
}
calTable += "</tr>\r\n";
for (lineNo=1; lineNo<6;lineNo++) {
calTable += "<tr>\r\n";
for(int i=0; i<7; i++){
calTable +="<td width=32 align=center>"+ (dateNum<=numOfDays?dateNum:" ");
dateNum++;
}
calTable += "</tr>\r\n";
}
calTable += "</table>\r\n";
return calTable;
}
public static int getNumOfDays(int year , int month) {
if ( month < 1 || month > 12 ) return 0;
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
return 31;
if (month != 2 ) return 30;
if ( (year % 4) == 0 ) return 29;
return 28;
}
}