C#简单输出日历的方法
作者:dongfengkuayue 发布时间:2023-11-13 05:56:10
标签: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#程序设计有所帮助。
0
投稿
猜你喜欢
- 这篇文章主要介绍了JavaWeb项目Servlet无法访问问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- spring-mybatis获取mapper方式汇总项目背景:pojo下面有一个user实体类Dao包下面写了usermapper.xml
- 上一篇《Android 自定义View(一) Paint、Rect、Canvas介绍》讲了最基础的如何自定义一个View,以及View用到的
- 1. 什么是 spring-boot-devtoolsspring-boot-devtools 是 spring-boot项目开发时的一个热
- 本文实例讲述了C#实现百分比转小数的方法。分享给大家供大家参考。具体分析如下:近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或
- 本文实例为大家分享了C#实现语音播报功能的具体代码,供大家参考,具体内容如下环境:window10vs2019 16.5.5.netfram
- 本文实例为大家分享了Android实现象棋游戏的具体代码,供大家参考,具体内容如下主要是实现两人对战象棋,没有实现人机对战,主要不会判断下一
- 激活码:9MWZD5CC4E-eyJsaWNlbnNlSWQiOiI5TVdaRDVDQzRFIiwibGljZW5zZWVOY
- 先给大家展示下效果图,如果大家感觉效果不错,请参考实例代码, act2是Main2Activity,act3是Main3Activ
- 不久之前,我面试了一些求职Java高级开发工程师的应聘者。我常常会面试他们说,“你能给我介绍一些Java中得弱引用吗?”,如果面试者这样说,
- 1、声明一个测试对象import java.time.LocalDate;import java.util.List;import lomb
- 本文实例讲述了Android编程基于重力传感器实现横竖屏放向切换功能。分享给大家供大家参考,具体如下:最近项目中用到了vr视频播放,因为自己
- 1、java 的下载和安装一、安装JDKjava下载网址 或者 点击这里根据自己操作系统和系统位数下载相应的JDK安装
- TimeSpan结构:表示一个时间间隔。它含有以下四个构造函数:TimeSpan(Int64)将 TimeSpan结构的新实例初始
- 在Spring mvc的开发中,我们可以通过RequestMapping来配,当前方法用于处理哪一个URL的请求.同样我们现在有一个需求,有
- SpringBoot项目中新增脱敏功能项目背景目前正在开发一个SpringBoot项目,此项目有Web端和微信小程序端。web端提供给工作人
- 一、解码流程解码流程大致分为以下三个部分,以FFmpge源码下的ffmpeg\doc\examples\decode_audio.c为参考。
- 在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock.R
- Android UI中TextView的使用方法一、TextView不同区域设置颜色,大小、点击事件String msg = getReso
- 隐式转换可以通过消除不必要的类型转换来提高源代码的可读性。但是,因为隐式转换不需要程序员将一种类型显式强制转换为另一种类型,所以