注:本文中的周末指的是周六和周日双休

本代码用的是基姆拉尔森公式来判断某年某月某天是否为周末,关于这个公式,百度百科上有详细介绍,这里再赘述一下:

基姆拉尔森计算公式:W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7,在公式中d表示日期中的日数,m表示月份数,y表示年数。

  注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

关于判断某年某月某天是星期几的方法,详细见http://blog.csdn.net/yice800/archive/2004/08/09/68997.aspx,共有四种。

下面贴代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication19  {
class Program
{
static void Main(string[] args)
{
int Y = 2011;                                      // 记录年份,可以改动,也可以通过控件输入
int M = 6;                                         // 记录月份,可以改动,也可以通过控件输入
List<int> Weekend_list = new List<int>();          // 用来记录月份中双休日的编号(从1开始)
int Month_number = DateTime.DaysInMonth(Y, M);     // 用来记录一个月中的天数
for (int i = 1; i <= Month_number;i++ )
{
if (Whether_Weekend(Y, M, i))
{
Weekend_list.Add(i);
}
}
Console.WriteLine("{0}年{1}月共有{2}个双休日,分布如下:/r",Y,M,Weekend_list.Count);
foreach (int item in Weekend_list)
{
Console.WriteLine("{0}号/r", item);
}
Console.ReadLine();
}
public static bool Whether_Weekend(int y ,int m ,int d)
{
if (m == 1 || m == 2)
{
m += 12;
y--;
}
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;   // 基姆拉尔森公式
if (week == 5 || week == 6)
{
return true;
}
else
{
return false;
}
}
}
}

C#判断某年某月共有多少个周末,分别是哪几天相关推荐

  1. JS判断某年某月有多少天

    以前写网页的时候,经常碰到选择日期的问题,其实就是 判断某年某月有多少天.一般的做法是先判断是几月份,然后决定有多少天(一般用switch),如果是2月的话,还得判断选择的年份是不是闰年,再决定是28 ...

  2. 判断某年某月有多少天

    /*** 判断某年某月有多少天* 参数:y* year:年* month:月* 返回值为该月的天数* */ function getDaysInMonth(year, month) {var date ...

  3. C++switch语句 | 判断某年某月有几天

    C++多分支选择结构 switch语句是多分支选择语句,用来实现多分支选择结构,switcht的一般形式如下,和C语言基本上一样,只是输出语句不同. switch(表达式) {case 常量表达式1: ...

  4. 判断某年某月有多少天(C语言)

    从键盘输入某年某月(包括闰年),用switch语句编程输出该年的改月拥有的天数.要求考虑闰年以及输入月份不在合法范围内的情况.已知闰年的2月有29天,平年有28天. #include <stdi ...

  5. c++ 计算某个日期是星期几,判断某年某月一号是星期几

    第一种方法 基姆拉尔森计算公式 W = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) mod 7 基姆拉尔森计算公式 W ...

  6. 用C语言编程实现“判断某年某月有几天”

    程序实现功能:输入任意年份的任意月份,输出这个月有几天. 此程序主要用到switch-case多分支语句,另外判断闰年也是本程序需要注意的地方. 程序代码如下: #include <stdio. ...

  7. 如何用Python判断某年某月有多少天

    题目要求: 输入年.月,输出本月有多少天.合理选择分支语句完成设计任务 输入样例1:2004 2 输出结果1:本月29天 输入样例2:2010 4 输出结果2:本月30天 代码: year = int ...

  8. c++判断某年某月天数

    题目描述 输入年,月,然后告诉该月有多少天. 输入 输入只有一行,包括2个整数.中间用一个空格隔开. 输出 输出只有一行(这意味着末尾有一个回车符号),包括1个整数. 1 2 3 4 5 6 7 8 ...

  9. Mysql 日期查询 查询某年某月末日 某时某分某秒...

    select * from table where  DATE_FORMAT(字段名称, '%Y%m%d') = '2019-01-11'; date_format() 函数用于以不同的格式显示日期/ ...

最新文章

  1. 英特尔二号人物被解雇:7nm全面落后,芯片还要外包代工
  2. jde多目标_华科开源多目标跟踪(MOT)实时新SOTA:FairMOT
  3. 防灾科技学院期末软件测试,防灾科技学院2014 软件测试客观题
  4. 压缩感知(Compressive Sensing)学习之(一)
  5. Elasticsearch 索引容量管理实践
  6. python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. 在函数中修改成员变量字符串和数组,它们的值会发生变化吗
  8. pip换源,解决pip下载超时,连接失败等问题
  9. 虚拟机Ubuntu20.04.2LTS卸载python3.8出现tty1-tty6循环登录,无法进入图形化界面,乱码(亲测)
  10. c svchost 服务 dll_小机巧丨如何解决svchost一直占用网速和内存?
  11. 为GitHub项目加入Travis-CI的自动集成
  12. bzoj 3356: [Usaco2004 Jan]禁闭围栏(扫描线+树状数组)
  13. 【C++】 53_被遗弃的多重继承 (上)
  14. Python basemap模拟导弹发射
  15. CSS 美化checkbox
  16. zscore标准化步骤_数据的标准化
  17. 民族学类毕业论文文献有哪些?
  18. FIRST 和 FOLLOW求解
  19. 永恒之蓝病毒补丁+封445端口
  20. 新手如何Reverces(基础ctf教程篇)

热门文章

  1. 清华大学计算机在职研究生有用吗,清华大学在职研究生读出来有用吗?
  2. Sonar (SonarLE) Windows 下无声音的处理办法
  3. 查询多级商品分类信息(这里演示3级商品分类信息查询,也附带性能低下但简单的查询)
  4. Python实验|磁盘垃圾文件清理器
  5. CTA策略你知道多少
  6. 数智随行 | 探想未来工厂数字化,强化智能设备管理
  7. 一对一直播脚本松鼠直播管家的操作原理
  8. 高通中国区董事长孟樸:首个5G商用芯片将于今年年底提供
  9. python查找excel中内容_Python 根据关键字查找xls单元格内容
  10. 借助云能力,小游戏开发过程是如何升级的?