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

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

基姆拉尔森计算公式: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. CentOS 不区分大小写的搜索
  2. 关于git bush 中不能复制黏贴的问题
  3. java 开源记账_生鲜配送系统ERP(JAVA开源版)-水产记账ipad
  4. 一款非常好用的Linux下的C/C++ IDE
  5. boost::range::for_each相关的测试程序
  6. 使用 GraalVM 将纯 JavaFX 项目打包成 EXE
  7. dedecms二次开发常用代码
  8. Swift中文教程(十五) 析构
  9. html基础开发-jQuery框架基础语法攻略(攻略一)
  10. React源码之 从开始说起
  11. Matlab实用代码——直方图的绘制并在单个直方图上标注对应数字
  12. 用数组来存储显示对象
  13. 在MacOS系统中如何自定义屏幕保护程序?
  14. Linux系统提高编辑效率的vim工具重要知识
  15. 微信语音怎么转发给别人_微信怎么把语音转发给别人?看看网友怎么说?原来方法这么简单...
  16. 大数据入门教程系列之Hbase安装(伪分布式)
  17. 带三维团队半年的一点总结和想法
  18. python中批量将矩形图片转化为正方形图片,并且缩放
  19. 永远不要忘记_它永远不会忘记一张脸
  20. FFMPEG之H.264视频解码

热门文章

  1. NLP-文本处理:拼写纠错【非词(编辑距离)、真词(编辑距离...)候选词 -> “噪音通道模型”计算候选词错拼成待纠错词的似然概率 -> N-gram模型评估候选词组成的语句合理性】
  2. Source Root
  3. 『ORACLE』安装oracle(11g)
  4. python手机端自动点赞软件_python自动点赞功能的实现思路
  5. 帮我找BUG 有功者赏看主公洗澡机会
  6. 2021秋招-机器阅读理解整理
  7. 数据透视表中选定区域不能分组,怎么破?
  8. [转] 从零推导支持向量机 (SVM)
  9. 信息监控——为Web2.0时代解决新问题
  10. Toolbar使用说明