C#输出日历

用C#输出日历,此功能可用于Ajax方式列出计划日程相关的内容,由于是C#控制输出,可以方便加上自己需要的业务处理逻辑。

1.控制台输出:

[csharp] view plaincopyprint?

  1. using System;
  2. namespace 控制台日历
  3. {
  4. class Program
  5. {
  6. public static void Main(string[] args)
  7. {
  8. string s = "    ";
  9. Console.WriteLine("输入年份:");
  10. int nYear = int.Parse(Console.ReadLine());
  11. Console.WriteLine("输入月份:");
  12. int nMonth = int.Parse(Console.ReadLine());
  13. DateTime day1 = new DateTime(nYear,nMonth,1);
  14. Console.WriteLine("{0}/{1}",day1.Year,day1.Month);
  15. Console.WriteLine("日  一  二  三  四  五  六");
  16. int week1 =(int )day1.DayOfWeek;//获取当年当月1号的星期
  17. //Console.WriteLine("当月一号的星期{0}",week1);
  18. int lastday = day1.AddMonths(1).AddDays(-1).Day; //获取当月的最后一天
  19. for (int i = 0; i < week1; i++)
  20. Console.Write(s);//不能换行输出
  21. for (int i = 1; i <= lastday; i++)
  22. {
  23. Console.Write("{0:00}  ", i);//按01 02   输出
  24. if ((i + week1) % 7 == 0)
  25. Console.WriteLine();
  26. }
  27. Console.WriteLine();
  28. Console.Write("Press any key to continue . . . ");
  29. Console.ReadKey(true);
  30. }
  31. }
  32. }

效果图:

2.Html表格输出:

[csharp] view plaincopyprint?

  1. #region 生成表格日历
  2. /// <summary>
  3. /// 生成表格日历 index:月份偏量,用来查看上一月下一月
  4. /// </summary>
  5. /// <param name="index"></param>
  6. /// <returns></returns>
  7. public static string GetCalendarHtml(int index = 0)
  8. {
  9. DateTime day1 = new DateTime(DateTime.Now.AddMonths(index).Year, DateTime.Now.AddMonths(index).Month, 1);
  10. int week1 = (int)day1.DayOfWeek;//获取当年当月1号的星期
  11. int lastday = day1.AddMonths(1).AddDays(-1).Day; //获取当月的最后一天
  12. System.Text.StringBuilder builder = new System.Text.StringBuilder();
  13. 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));
  14. builder.Append("<tr class=‘calendar_head‘>");
  15. builder.Append("<td class=‘calendar_cell‘>日</td>");
  16. builder.Append("<td class=‘calendar_cell‘>一</td>");
  17. builder.Append("<td class=‘calendar_cell‘>二</td>");
  18. builder.Append("<td class=‘calendar_cell‘>三</td>");
  19. builder.Append("<td class=‘calendar_cell‘>四</td>");
  20. builder.Append("<td class=‘calendar_cell‘>五</td>");
  21. builder.Append("<td class=‘calendar_cell‘>六</td>");
  22. builder.Append("</tr>");
  23. string emptyString = "<td class=‘calendar_cell‘> </td>";
  24. if (week1 > 0)
  25. {
  26. builder.Append("<tr class=‘calendar_body‘>");
  27. for (int i = 0; i < week1; i++)
  28. {
  29. builder.Append(emptyString);
  30. }
  31. }
  32. for (int i = 1; i <= lastday; i++)
  33. {
  34. string day = string.Format("{0:00}  ", i);//按01 02   输出
  35. builder.Append(string.Format("<td class=‘calendar_cell‘>{0}</td>", day));
  36. if ((i + week1) % 7 == 0)
  37. {
  38. builder.Append("</tr><tr class=‘calendar_body‘>");
  39. }
  40. }
  41. builder.Append("</tr>");
  42. builder.Append("</table>");
  43. return builder.ToString();
  44. }
  45. #endregion

页面前台结合javascript实现ajax日历切换效果,只需用js改变函数中的index偏移量即可。

时间: 2024-11-05 20:34:28

C#输出日历的相关文章

C语言 &#183; 输出日历

算法提高 输出日历 时间限制:1.0s   内存限制:512.0MB 按照下述格式打印2006年12月日历: Calendar 2006-12--------------------------Su Mo Tu We Th Fr Sa-------------------------- 1 2 3 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 3031--------------------------

向控制台输出日历

上章也在文中举例过向控制台输出日历,那么这章我们就来具体的说说怎么实现: //第一步:提示并获取用户的输入 //第二步:根据用户输入的年月,创建集合 //第三步:向控制台显示输出 //第四步:等待用户指令,清屏重新输出 怎么实现呢? //第一步:提示并获取用户的输入,如果错误那么需要清屏提醒重新输入,前面一贴我们讲过,这种情况,我们就应该运用到while(true)和console.clear(),输入正确结束循环 int years, month; while (true) { Console

用Java输出日历

第一次看到这个作业的时候,真的觉得目前以我现在所学的知识怎么能做出来,不过根据老师的提示,先写自己写了很多函数,这样让以后很多重复的代码能用函数写出来,就方便了很多,然后再一步步做,最终把日历输出了.在这当中我学习到了函数的重要性,能让代码变得更加简单,更能理解.在做完之后再回头思考,为什么老师的提示是写这些的函数而不是其他的呢?我们拿到这个题目后,首先应该想到1号是星期几,当要得到这个信息,就还要知道本月有多少天,本年到这一天有多少天等等,根据这样的逻辑就可以知道首先要写哪些函数,之后该写哪些

输出日历和索引示例

Python输出日期的短程序如下: import calendar cal=calendar.month(2017,7) print "以下输出2017年7月份的日历:" print cal 索引示例: 它要求输入年.月(1-12的数字).日(1-31),然后打印出相应日期的月份名称,等等. #根据给定的年月日以数字形式打印出日期 months=[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'Augu

输出日历

Calendar 2006-12--------------------------Su  Mo  Tu  We  Th  Fr  Sa--------------------------                     1   2 3   4   5   6   7   8   910  11  12  13  14  15  1617  18  19  20  21  22  2324  25  26  27  28  29  3031------------------------

Java输出日历

源码链接:http://pan.baidu.com/s/1o6xeybK

【实践】js实现windows系统日历

思路:1.定义好每一个月份的日期天数 2.获取当前的系统日期初始化数据 3.输出日历    2.1.先获取当前月的第一天是星期几(这一点与日历的排版至关重要!)    2.2.获取当前月的天数    2.3.获取当前月有多少个星期(即要输出多少行 行数这里我会预留多一行)    2.4.获取当前年份和月份 用作显示 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

这一个月的日历到底是什仫样子的呢?

模拟实现日期万年历,包括日期加减天数,日期减日期,可输出一定年份月份的日历 包括自己实现构造函数,拷贝构造函数,运算符重载等默认的成员函数 输出日历实例类似下图: [思路分析] 要打印出日期万年历首先需要知道该年是否是闰年?是闰年该年有366天,非闰年365天:确定闰年之后还需要知道该年的每个月的总天数,在这里我用了一个数组来存储每个月的天数,是闰年就将二月修改为29天,非闰年不做修改(28天),在设置存储月份时浪费掉了下标为0的元素,更加贴近实际:有了这些基础之后下面就是如何打印日历了 在打印

javascript js写特效日历

<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><meta h