C#,《小白学程序》第十二课:日历的编制,时间DateTime的计算方法与代码

news2024/12/31 7:06:06

1 文本格式


/// <summary>
/// 《小白学程序》第十二课:日历的编制,时间DateTime的计算方法与代码
/// 本课学习时间类型的数据 DateTime 的简单方法,并编制一个月的日历。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button12_Click(object sender, EventArgs e)
{
    // 设定为某个月的1号
    DateTime day = DateTime.Parse("2025-08-01 10:10:00");
    // 记录 月份
    int month = day.Month;
    // 1号 是星期几? 等于日历1号前面留出的空格数;
    DayOfWeek weekday = day.DayOfWeek;
    int wd = (int)weekday;

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("<style>td { padding:5px;text-align:center;} </style>");
    sb.AppendLine("<table width=420 border=1 style='border-collapse:collapse;'>");

    // 日历第一行,表头,现实星期日、一、二、。。。。。。
    sb.AppendLine("<tr style='background-color:#EEEEFF;'>");
    sb.AppendLine("<td>日</td>");
    sb.AppendLine("<td>一</td>");
    sb.AppendLine("<td>二</td>");
    sb.AppendLine("<td>三</td>");
    sb.AppendLine("<td>四</td>");
    sb.AppendLine("<td>五</td>");
    sb.AppendLine("<td>六</td>");
    sb.AppendLine("</tr>");

    sb.AppendLine("<tr>");
    // 如果 1号不是周日,前面留出一些空格
    if (wd > 0)
    {
        int nn = wd;
        for (int i = 0; i < nn; i++)
        {
            sb.AppendLine("<td> </td>");
        }
    }

    // 循环,条件是 月份 不变!
    while (day.Month == month)
    {
        // 打印日期
        sb.AppendLine("<td>" + day.Day + "</td>");
        // 如果是周日,换行!!!
        if ((int)day.DayOfWeek == 6)
        {
            sb.AppendLine("</tr>");
            sb.AppendLine("<tr>");
        }
        // 时间往后面加一天
        day = day.AddDays(1);
    }

    // 最后一天,如果不是周六,需要增加几个空格!
    int de = (int)day.DayOfWeek;
    for (int i = de; i < 6; i++)
    {
        sb.AppendLine("<td> </td>");
    }

    sb.AppendLine("</tr>");
    sb.AppendLine("</table>");

    webBrowser1.DocumentText = sb.ToString();
}
 

2 代码格式


/// <summary>
/// 《小白学程序》第十二课:日历的编制,时间DateTime的计算方法与代码
/// 本课学习时间类型的数据 DateTime 的简单方法,并编制一个月的日历。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button12_Click(object sender, EventArgs e)
{
    // 设定为某个月的1号
    DateTime day = DateTime.Parse("2025-08-01 10:10:00");
    // 记录 月份
    int month = day.Month;
    // 1号 是星期几? 等于日历1号前面留出的空格数;
    DayOfWeek weekday = day.DayOfWeek;
    int wd = (int)weekday;

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("<style>td { padding:5px;text-align:center;} </style>");
    sb.AppendLine("<table width=420 border=1 style='border-collapse:collapse;'>");

    // 日历第一行,表头,现实星期日、一、二、。。。。。。
    sb.AppendLine("<tr style='background-color:#EEEEFF;'>");
    sb.AppendLine("<td>日</td>");
    sb.AppendLine("<td>一</td>");
    sb.AppendLine("<td>二</td>");
    sb.AppendLine("<td>三</td>");
    sb.AppendLine("<td>四</td>");
    sb.AppendLine("<td>五</td>");
    sb.AppendLine("<td>六</td>");
    sb.AppendLine("</tr>");

    sb.AppendLine("<tr>");
    // 如果 1号不是周日,前面留出一些空格
    if (wd > 0)
    {
        int nn = wd;
        for (int i = 0; i < nn; i++)
        {
            sb.AppendLine("<td> </td>");
        }
    }

    // 循环,条件是 月份 不变!
    while (day.Month == month)
    {
        // 打印日期
        sb.AppendLine("<td>" + day.Day + "</td>");
        // 如果是周日,换行!!!
        if ((int)day.DayOfWeek == 6)
        {
            sb.AppendLine("</tr>");
            sb.AppendLine("<tr>");
        }
        // 时间往后面加一天
        day = day.AddDays(1);
    }

    // 最后一天,如果不是周六,需要增加几个空格!
    int de = (int)day.DayOfWeek;
    for (int i = de; i < 6; i++)
    {
        sb.AppendLine("<td> </td>");
    }

    sb.AppendLine("</tr>");
    sb.AppendLine("</table>");

    webBrowser1.DocumentText = sb.ToString();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/962457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通义千问部署搭建

文章目录 一、部署11.1 打开通义千问-7B-预训练-模型库-选择资源1.2 使用Netbook2.1 运行2.2 复制脚本2.2.1 问题1 &#xff1a;ImportError: This modeling file requires the following packages that were not found in your environment: transformers_stream_generator. R…

Configuring HSRP(Hot Standby Routing Protocol)

网络冗余架构设计中&#xff0c;必不可少的就是网关冗余功能&#xff0c;而很多核心网中都会用到HSRP(Hot Standby Routing Protocol)协议来实现这个功能。 热备份路由协议&#xff08;HSRP&#xff09; 热备份路由协议&#xff08;HSRP&#xff09;是思科公司专有的协议&…

JVM面试核心点

一、JDK体系 二、JVM体系 三、JVM内存模型 public class Math {public static final int data 666;public static UserEntity user new UserEntity();public int compute() { // 一个方法对应一块栈帧内存区域int a 1;int b 2;int c (ab)*10;return c;}public static voi…

接口自动化测试 —— JMeter断言基本使用

断言 断言&#xff1a;就是让程序判断预期结果和实际结果是否一致 注意&#xff1a;请求发起成功了&#xff0c;不代表着一定符合预期的结果。 JMeter中常用断言 响应断言 JSON断言 持续时间断言 响应断言 步骤&#xff1a;&#xff1a;线程组——HTTP取样器——断言——…

VM装MACos

准备工具: 下载macOS Ventura 13 ISO镜像文件、VMware Workstation Pro最新版并激活(自行官网下载即可,需要镜像和key可以最下边的云盘自取) 下载Unlocker for VMware Workstation Pro,该工具用于解锁 macOS 系统支持、目前已支持macOS 13。 有需要的部分工具我放到最后 …

出行365 CTO张劲涛:智慧公路客运出行,数据库先行

&#x1f399;️&#x1f399;️《DB大咖说》第二期来啦&#xff01; 「DB大咖说」的第 2 期节目&#xff0c;我们邀请到的是盛威时代&#xff08;出行365&#xff09;CTO 张劲涛&#xff0c;在高铁、飞机如此发达的出行领域&#xff0c;他却深耕公路客运 11 年&#xff0c;他表…

利用 AI 赋能云安全,亚马逊云科技的安全技术创新服务不断赋能开发者

文章分享自亚马逊云科技 Community Builder&#xff1a;李少奕 2023年6月14日&#xff0c;一年一度的亚马逊云科技 re:Inforce 全球大会在美国安纳海姆落下了帷幕。re:Inforce 是亚马逊云科技全球最大的盛会之一&#xff0c;汇集了来自全球各地的安全专家&#xff0c;共同学习、…

2024郑州光伏展|郑州太阳能光伏展|郑州光伏储能技术展览会

2024第四届中国&#xff08;郑州&#xff09;太阳能光伏及储能产业展览会 时间&#xff1a;2024年2月26-28日 地点&#xff1a;郑州.中原国际博览中心 2024年&#xff0c;郑州将举办第四届中国&#xff08;郑州&#xff09;太阳能光伏及储能产业展览会&#xff0c;这是该领域…

endnote插入论文文献完整设置

最近要开题了&#xff0c;之前word写论文用的是交叉引用&#xff0c;比较麻烦&#xff0c;听说用endnote插入文献挺方便&#xff0c;于是上网查了一下使用的规则&#xff0c;记录一下一些基本的设置。 首先我们插入文献要注意使用相关的样式&#xff08;style&#xff09;&…

C语言左旋字符串详解(付完整代码)

目录 暴力求解 优雅求解 左旋字符串&#xff0c;实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 暴力求解 每左旋转1个字符串&#xff0c;旋转k次&#xff0c;这种方法效率比较低&#xff0c;因为…

六、vim编辑器的使用

1、编辑器 (1)编辑器就是一款软件。 (2)作用就是用来编辑文件&#xff0c;譬如编辑文字、编写代码。 (3)Windows中常用的编辑器&#xff0c;有自带的有记事本(notepad)&#xff0c;比较好用的notepad、VSCode等。 (4)Linux中常用的编辑器&#xff0c;自带的最古老的vi&…

进程管理死死的学

进程管理 文件属性 chattr【扩展】 chattr chattr i 文件名 # 添加权限 a 可追加&#xff0c;不可修改 i 只可查看 A 不修改访问时间 charrt -i 文件名 # 取消权限 -R 递归处理&#xff0c;将指令目录下的所有文件及子目录一并处理&#xff1b;lsattr 查看文件属性 lsattr …

具有高度的稳定性嵌入式ARM控制器BL304

嵌入式ARM控制器BL304系列是一款专为工业控制领域设计的坚固型工控设备。它采用NXP公司的处理器I.MX8M Mini四核64位处理器&#xff0c;搭配四核 Cortex-A53单核Cortex-M4构架&#xff0c;运行速度高达1.8GHz&#xff0c;具有高度的稳定性和可靠性。 处理器是嵌入式控制器的核心…

《Python趣味工具》——其他常见的RPG游戏梳理:

Hello&#xff0c;各位朋友们大家好&#xff01;昨天我们一起制作了自己的第一个RPG游戏——《人生选择模拟器》&#xff0c;是不是还意犹未尽呢&#xff1f;哈哈&#xff0c;今天我们再来尝试做几款比较轻量级的小游戏吧&#xff01; 文章目录 1. 猜单词游戏:2. 姻缘测试:3. …

高忆管理:大盘缩量震荡短期面临方向选择

大盘连续震荡格局&#xff0c;周四缩量小幅回调。 沪指当日低开震荡&#xff0c;盘中最低探至5日均线附近止跌&#xff0c;收盘跌幅有所收窄。深成指相同低开低走&#xff0c;盘中时刻短翻红后再度震荡回落。到收盘&#xff0c;沪指报收3119.88点&#xff0c;跌落0.55%&#x…

VScode远程连接主机

一、前期准备 1、Windows安装VSCode&#xff1b; 2、在VSCode中安装PHP Debug插件&#xff1b; 3、安装好Docker 4、在容器中安装Xdebug ①写一个展现phpinfo的php文件 <?php phpinfo(); ?>②在浏览器上打开该文件 ③复制所有信息丢到Xdebug: Installation instr…

骨传导耳机会影响听力吗?这是真的吗?

首先正常的使用骨传导耳机并不会影响我们的听力&#xff01;那是为什么呢&#xff1f;&#xff1f; 因为骨传导是一种声音传导方式&#xff0c;可以通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。 相对于通过耳道声波的经典声音传导方式&#x…

Mysql批量插入大量数据的方法

使用存储过程进行插入&#xff0c; 在navicate中示例如下&#xff1a; 输入需要的参数点击完成 在begin end中输入代码&#xff0c;示例代码如下 CREATE DEFINERskip-grants userskip-grants host PROCEDURE batch_insert() BEGINdeclare i int default 0; set i0;while i<1…

探秘C语言扫雷游戏实现技巧

本篇博客会讲解&#xff0c;如何使用C语言实现扫雷小游戏。 0.思路及准备工作 使用2个二维数组mine和show&#xff0c;分别来存储雷的位置信息和排查出来的雷的信息&#xff0c;前者隐藏&#xff0c;后者展示给玩家。假设盘面大小是99&#xff0c;这2个二维数组都要开大一圈…

解码注意力Attention机制:从技术解析到PyTorch实战

目录 引言历史背景重要性 二、注意力机制基础概念定义组件 注意力机制的分类举例说明 三、注意力机制的数学模型基础数学表达式注意力函数计算权重 数学意义举例解析 四、注意力网络在NLP中的应用机器翻译代码示例 文本摘要代码示例 命名实体识别&#xff08;NER&#xff09;代…