C#简单输出日历的方法
程序员文章站
2023-10-31 13:50:16
本文实例讲述了c#简单输出日历的方法。分享给大家供大家参考。具体如下:
用c#输出日历,此功能可用于ajax方式列出计划日程相关的内容,由于是c#控制输出,可以方便加上自...
本文实例讲述了c#简单输出日历的方法。分享给大家供大家参考。具体如下:
用c#输出日历,此功能可用于ajax方式列出计划日程相关的内容,由于是c#控制输出,可以方便加上自己需要的业务处理逻辑。
1.控制台输出:
using system; namespace 控制台日历 { class program { public static void main(string[] args) { string s = " "; console.writeline("输入年份:"); int nyear = int.parse(console.readline()); console.writeline("输入月份:"); int nmonth = int.parse(console.readline()); datetime day1 = new datetime(nyear,nmonth,1); console.writeline("{0}/{1}",day1.year,day1.month); console.writeline("日 一 二 三 四 五 六"); int week1 =(int )day1.dayofweek;//获取当年当月1号的星期 //console.writeline("当月一号的星期{0}",week1); int lastday = day1.addmonths(1).adddays(-1).day; //获取当月的最后一天 for (int i = 0; i < week1; i++) console.write(s);//不能换行输出 for (int i = 1; i <= lastday; i++) { console.write("{0:00} ", i);//按01 02 输出 if ((i + week1) % 7 == 0) console.writeline(); } console.writeline(); console.write("press any key to continue . . . "); console.readkey(true); } } }
效果图:
2.html表格输出:
#region 生成表格日历 /// <summary> /// 生成表格日历 index:月份偏量,用来查看上一月下一月 /// </summary> /// <param name="index"></param> /// <returns></returns> public static string getcalendarhtml(int index = 0) { datetime day1 = new datetime(datetime.now.addmonths(index).year, datetime.now.addmonths(index).month, 1); int week1 = (int)day1.dayofweek;//获取当年当月1号的星期 int lastday = day1.addmonths(1).adddays(-1).day; //获取当月的最后一天 system.text.stringbuilder builder = new system.text.stringbuilder(); builder.append(string.format("<table class='calendar_table'><caption><span style='cursor:pointer' class='prevmonth' onclick='javascript:changemonth(-1)'>上一月</span><span class='currmonth'> {0}年{1}月</span><span style='cursor:pointer' class='nextmonth' onclick='javascript:changemonth(1)'>下一月</span></caption>", datetime.now.addmonths(index).year, datetime.now.addmonths(index).month)); builder.append("<tr class='calendar_head'>"); builder.append("<td class='calendar_cell'>日</td>"); builder.append("<td class='calendar_cell'>一</td>"); builder.append("<td class='calendar_cell'>二</td>"); builder.append("<td class='calendar_cell'>三</td>"); builder.append("<td class='calendar_cell'>四</td>"); builder.append("<td class='calendar_cell'>五</td>"); builder.append("<td class='calendar_cell'>六</td>"); builder.append("</tr>"); string emptystring = "<td class='calendar_cell'> </td>"; if (week1 > 0) { builder.append("<tr class='calendar_body'>"); for (int i = 0; i < week1; i++) { builder.append(emptystring); } } for (int i = 1; i <= lastday; i++) { string day = string.format("{0:00} ", i);//按01 02 输出 builder.append(string.format("<td class='calendar_cell'>{0}</td>", day)); if ((i + week1) % 7 == 0) { builder.append("</tr><tr class='calendar_body'>"); } } builder.append("</tr>"); builder.append("</table>"); return builder.tostring(); } #endregion
希望本文所述对大家的c#程序设计有所帮助。
下一篇: ReentrantLock锁 源码分析