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
页面前台结合javascript实现ajax日历切换效果,只需用js改变函数中的index偏移量即可。
C#输出日历的更多相关文章
- JS输出日历
页面HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...
- PHP程序输出日历
以下代码只是简单实现日历的效果和逻辑思路,没有使用类封装,权当抛砖引玉,有兴趣的朋友可以封装起来,方便调用. <?php /** * PHP利用时间函数输出日历 * Rain.zen $ int ...
- C语言 · 输出日历
算法提高 输出日历 时间限制:1.0s 内存限制:512.0MB 按照下述格式打印2006年12月日历: Calendar 2006-12---------------------- ...
- Java输出日历写法
package TestString_2; import java.text.ParseException;import java.util.Calendar;import java.util.Gre ...
- Java输出日历
源码链接:http://pan.baidu.com/s/1o6xeybK
- Python学习实践-----打印日历
使用python语言实现在控制台打印日历 输入年.月.日 输出对应日历,指定的日数输出为'--' 程序没有做严格的输入验证,故输入整数即可. 以下为没有优化的源码: print_calendar.py ...
- javascript js写特效日历
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 创建一个js日历(原生JS实现日历)
前言 方法是有参考网上一些资料的,比如闰年的判断,比如每个月第一天是星期几的判断.不说太多,拆分出一个个函数,希望能描述尽可能的清晰明了. 一,判断闰年 //判断闰年 function runNian ...
- .net mvc页面UI之Jquery博客日历控件
摘要:最近在做一个博客系统,其他需要用到博客日历控件,网上搜索了很多资料,其中大部分都是javascript的,经过总结使用jquery实现了博客日历效果.代码如下: 原文链接转载请注明:http:/ ...
随机推荐
- wxpython 安装教程
wxpython在windows 上的安装,需要在wxpython官网上下载对应的版本:Python分为32和64位系统不是系统的32位和64位 所以可以先在IDE 下输入Python看下当前是32还 ...
- openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】
之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入 在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: ...
- 第八十节,CSS3边框图片效果
CSS3边框图片效果 学习要点: 1.属性初探 2.属性解释 3.简写和版本 本章主要探讨HTML5中CSS3中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 ...
- UITableView控制头部View
首先我们先集成一个UIView做一个自己的View #import <UIKit/UIKit.h> @interface MyView : UIView @property (nonato ...
- jQuery复习:第二章&第三章
第二章 一.选择器 1.层次选择器 $(“ancestor descendant”)选取ancestor元素里的所有后代元素 $(“parent > child”)选取parent元素下的chi ...
- Gym 100553B Burrito King 无脑背包
题意就是你有n和m两个上限 吃一个东西会同时增加两个东西 m的值不能超过给定的m 问最后的n m值和每个东西吃了多少 贪心一下就好了 算一下性价比 从最大的开始吃 直到吃满了m n也一定是最大了 只是 ...
- HDU 1863 Kruskal求最小生成树
好久没写博客了写着玩的…… Kruskal这种东西离散都学过…… 一句话…… 添加当前图权值最小且构不成环的一条边 直到连接所有点…… 其他人好多Kruskal的模版 肯定有比我的好的…… 就是刷一波 ...
- 五指cms模版基础
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- User already has more than 'max_user_connections' active connections
vi /etc/my.cnf修改 max_user_connections 参数的数值,重启 MySQL 服务器
- jquery倒计时过几秒页面跳转 js倒计时
//银行认证成功跳转 var time=setInterval (showTime, 1000); var second=5; function showTime() { if(second==0) ...