62,040
社区成员
发帖
与我相关
我的任务
分享
for (int i = 0; i < 6; i++) //拼接tr
{
for (int i = 0; i < 7; i++) //拼接td
{
//这地方没有什么算法根据本月第一天是星期几跳过拼接显示空白
//还有就是最后一天的后面也是空白(一共42个格)
}
}
<!DOCTYPE html>
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet"
type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
$("#datepicker").datepicker();
});
</script>
</head>
<body style="font-size:62.5%;">
<div type="text" id="datepicker"></div>
</body>
</html>
if (i == 0)
{
if (j < firstDayWeek)
{
sb.Append("<td></td>");
}
else
{
sb.Append("<td class=\"\"><div class=\"pripackage_dateon\"><span></span>" + (++day) + "<dfn class=\"pripackage_state03\"> </dfn><div class=\"base_price\"><dfn>¥</dfn>3,760起</div></div></td>");
day++;
}
}
else
{
if (days <= day)
sb.Append("<td></td>");
else
{
sb.Append("<td class=\"\"><div class=\"pripackage_dateon\"><span></span>" + (++day) + "<dfn class=\"pripackage_state03\"> </dfn><div class=\"base_price\"><dfn>¥</dfn>3,760起</div></div></td>");
day++;
}
}
DateTime x = DateTime.Now;
//得到该日期的第一天的星期
DateTime d1 = new DateTime(x.Year, x.Month, 1);
DateTime d2 = d1.AddMonths(1).AddDays(-1);
int startWeek = (int)d1.DayOfWeek;
int endWeek = (int)d2.DayOfWeek;
int days = d2.Day;
int day = 0;
sb.Append("<table id=\"bigCal\" class=\"pripackage_date_list\" cellpadding=\"0\" cellspacing=\"0\">");
#region
for (int t = 0; t < 2; t++)
{
if (t == 0)
{
sb.Append("<thead>");
}
else
{
sb.Append("</tbody>");
}
int endStart = t == 1 ? 6 : 1;
for (int i = 0; i < endStart; i++)
{
sb.Append("<tr>");
for (int j = 0; j < 7; j++)
{
#region -加载星期几表头
if (endStart == 1) //第一行?
{
string strClass = "";
if (j == 0)
strClass = "class=\"pripackage_sun\"";
else if (j == 6)
strClass = "class=\"pripackage_sat\"";
sb.Append("<td " + strClass + ">星期" + nStr1[j] + "</td>");
}
#endregion
#region -加载日期
else
{
if ((i < startWeek && j == 0) || (i > endWeek && 5 == j) || (day >= days))
{
sb.Append("<td></td>");
}
else
{
sb.Append("<td class=\"\"><div class=\"pripackage_dateon\"><span></span>" + (++day) + "<dfn class=\"pripackage_state03\"> </dfn><div class=\"base_price\"><dfn>¥</dfn>3,760起</div></div></td>");
}
}
#endregion
}
}
if (t == 0)
{
sb.Append("</thead>");
}
else
{
sb.Append("</tbody>");
}
}
sb.Append("</table>");
return sb.ToString();
//给定如何一个日期
DateTime x = new DateTime(2011, 10, 13);
//得到该日期的第一天的星期
DateTime d1 = new DateTime(x.Year, x.Month, 1);
DateTime d2 = d1.AddMonths(1).AddDays(-1);
int startWeek = (int)d1.DayOfWeek;
int endWeek = (int)d2.DayOfWeek;
String html = "<table border=1>";
int day = 0;
String[] weekName = { "日", "一", "二", "三", "四", "五", "六" };
for (int j = 0; j < 6; j++) //拼接tr
{
if (j == 0)
{
html += "<tr>";
for (int i = 0; i < 7; i++)
{
html += "<th>星期" + weekName[i] + "</th>";
}
html += "</tr>";
}
html += "<tr>";
for (int i = 0; i < 7; i++) //拼接td
{
if ((i < startWeek && j == 0) || (i > endWeek && 5 == j))
{
html += "<td> </td>";
}
else
{
html += "<td>" + (++day) + "</td>";
}
}
html += "</tr>";
}
html += "</table>";
Response.Write(html);
private string BuildCalendar(int year, int month)
{
DateTime date = new DateTime(year, month, 1);
int days = date.AddMonths(1).AddDays(-1).Day;
System.Text.StringBuilder table = new System.Text.StringBuilder("<table border='1'>");
string fmt = "<td>{0}</td>";
int week = (int)date.DayOfWeek;
if (week != 0)
table.Append("<tr><td colspan='" + week + "'>空白</td>");
for (int i = 1; i <= days; ++i)
{
week %= 7;
if (week == 0)
table.Append("<tr>");
table.AppendFormat(fmt, i);
if (week == 6)
table.Append("</tr>");
++week;
}
if (week < 7)
table.Append("<td colspan='" + (7 - week) + "'>空白</td></tr>");
table.Append("</table>");
return table.ToString();
}
for (int i = 0; i < 6; i++) //拼接tr
{
for (int j = 0; j < 7; i++) //拼接td
{
//这地方没有什么算法根据本月第一天是星期几跳过拼接显示空白
//还有就是最后一天的后面也是空白(一共42个格)
}
}