관리 메뉴

nkdk의 세상

달력 나타내기 본문

My Programing/JSP and Servlet

달력 나타내기

nkdk 2008. 4. 21. 16:41

<%@ page import="java.util.*"%>
<%
   Calendar cal = Calendar.getInstance();
   int year = cal.get(Calendar.YEAR);
   int month = cal.get(Calendar.MONTH);
 
   cal.set(year, month, 1);
   int startDay = cal.getMinimum(Calendar.DATE);
   int endDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
   int start = cal.get(Calendar.DAY_OF_WEEK);
   int newLine = 0;
%>
 
 <table border="1" bordercolor="#FFFFFF" bordercolorlight=#000000 cellspacing="0" cellpadding=1  align=center>
  <tr>
     <td colspan=7 align=center><B><%= year %> / <%= month+1 %> </B></td>
  </tr>
  <tr>
    <td width=50 align=center><B>
 <Font color="RED">SUN</FONT></b></td>
    <td width=50 align=center><B>MON</b></td>
    <td width=50 align=center><B>TUE</b></td>
    <td width=50 align=center><B>WED</b></td>
    <td width=50 align=center><B>THU</b></td>
    <td width=50 align=center><B>FRI</b></td>
    <td width=50 align=center><B>SAT</b></td>
   </tr>
 <%
  for(int i = 1; i < start; i++){
  out.print("<td>&nbsp;</td>");
   newLine++;
 }

 for(int i = 1; i <= endDay; i++){
  String color = (newLine == 0) ? "RED" : (newLine==6)? "BLUE":"BLACK";
  out.print("<td align=CENTER><Font Color="
     +color+">"+ i + "</font></td>");
  newLine++;
 
  if(newLine == 7){
   out.print("</TR>");
   if(i <= endDay){
    out.print("<TR>");
   }
   newLine = 0;
  }
 }

 while(newLine > 0 && newLine < 7){
  out.print("<td>&nbsp;</td>");
  newLine++;
 }
 %>
 </table>