欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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);
  }
 }
}

效果图:

 C#简单输出日历的方法

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#程序设计有所帮助。