項目中碰到一個需要手動輸入月份,然後頁面輸出當月日曆的功能,開始想用js來做,發現沒辦法做。之後,因為還需要設定每個日期的節假日,想到之前做過萬年曆。剛好用上了,就通過程序算法來控制,無論選擇那個月,都能顯示日曆。代碼如下:
string strDate = WebUtils.getParameter("condition");
int nYear = 0;
int nMonth = 0;
int nWeek = 0;
if (!string.IsNullOrEmpty(strDate))
{
nYear = DateTime.Parse(strDate).Year;
nMonth = DateTime.Parse(strDate).Month;
DateTime dtWeek = new DateTime(nYear, nMonth, 1);
nWeek = Convert.ToInt32(dtWeek.DayOfWeek);
}
else
{
nYear = DateTime.Now.Year;
nMonth = DateTime.Now.Month;
DateTime dtWeek = new DateTime(nYear, nMonth, 1);
nWeek = Convert.ToInt32(dtWeek.DayOfWeek);
}
BrtRResultModel<object> brtRResultModel = new BrtRResultModel<object>();
StringBuilder sb = new StringBuilder();
//添加日曆
sb.Append("<tr align=\"center\">");
int i = 1;
for (int nDay = 1; nDay <= 31; )
{
if (i < nWeek)
{
sb.Append("<td> </td>");
i = i + 1;
}
else
{
bool bResult = PageValidate.isDateTime(nYear + "-" + nMonth + "-" + nDay);
if (bResult)
{
sb.Append("<td>" + nDay + "</td>");
}
if (i % 7 == 0)
{
sb.Append("</tr><tr align=\"center\">");
}
i = i + 1;
nDay = nDay + 1;
}
}
string strResult = sb.ToString();
int nLastTrLength = strResult.LastIndexOf("<tr align=\"center\">");
strResult = StringUtils.subString(strResult,nLastTrLength);
效果如圖:
输出当月的日历
最新推荐文章于 2021-10-19 19:48:15 发布
本文介绍了如何使用程序算法来手动输入月份并显示对应的日历页面,包括设置节假日功能,利用万年历进行日期验证。

2653

被折叠的 条评论
为什么被折叠?



