C#判断某年某月共有多少个周末,分别是哪几天
2011-06-13 14:19
411 查看
注:本文中的周末指的是周六和周日双休
本代码用的是基姆拉尔森公式来判断某年某月某天是否为周末,关于这个公式,百度百科上有详细介绍,这里再赘述一下:
基姆拉尔森计算公式: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,共有四种。
下面贴代码:
本代码用的是基姆拉尔森公式来判断某年某月某天是否为周末,关于这个公式,百度百科上有详细介绍,这里再赘述一下:
基姆拉尔森计算公式: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#判断某年某月共有多少个周末,分别是哪几天
- 已知某年某月,请输出这个月共有多少天(if语句)
- 已知某年某月,请输出这个月共有多少天(switch语句)
- asp.net(C#)判断某年某月有多少天,哪些天是周末,该月有多少个周末。
- asp.net(C#)判断某年某月有多少天,哪些天是周末,该月有多少个周末。
- PHP判断某年的某月有多少天
- 判断某年某月多少天.c
- C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的计算
- C#控制台基础 try catch应用 输入年份月份,判断这个月有多少天
- ios 获取某年某月总共多少天
- shell 求某年的某月有多少天
- java 获取某年某月星期几有哪几天
- 求某月/某年的工作日(排除周末,寒暑假,过节)
- 返回一个月有多少天 某月第一天 某月的 最后一天 判断闰年
- Java-判断某年某月的天数
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
- 判断某年某月一号是星期几,怎么判断??????????????
- 计算某年的某月有多少天
- C#中判断字节多少,以及按字节截取
- 判断某年某月是这一年的第几天(多种方法)