c#控制台应用程序-“进入指定日期检查出星期几”

这涉及一个算法:

基姆拉尔森计算公式

W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7

在公式中d表示日期中的日数。m表示月份数。y表示年数。

注意:在公式中有个与其它公式不同的地方:

把一月和二月看成是上一年的十三月和十四月,例:假设是2004-1-10则换算成:2003-13-10来代入公式计算。

代码例如以下:

            Console.WriteLine("**************************");
            Console.WriteLine("输入指定年月日查询出星期几");
            Console.WriteLine("By:YYS");
            Console.WriteLine("今天是{0}年{1}月{2}日 星期{3}", DateTime.Now.Year,DateTime.Now.Month, DateTime.Now.Day, (int)DateTime.Now.DayOfWeek);
            Console.WriteLine("**************************");

            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("请输入年:");
            int y = System.Int32.Parse(Console.ReadLine());
            Console.WriteLine("请输入月");
            int m = System.Int32.Parse(Console.ReadLine());
            Console.WriteLine("请输入日");
            int d = System.Int32.Parse(Console.ReadLine());
            int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;

            Console.WriteLine("{0}年{1}月{2}日是星期{3}",y,m,d,week);
            Console.ReadKey(); 

如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzZW55YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-08-15 09:19:33

c#控制台应用程序-“进入指定日期检查出星期几”的相关文章

c#控制台程序-“输入指定年月日查询出星期几”

其中涉及一个算法: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算. 代码如下: Console.WriteLine("**************************"); Console.WriteLi

对指定日期计算出N天后的日期问题

指定日期计算出N天后的日期问题 问题描述:先输入起始日期,再输入任意天数n,求n天后的日期. 源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRkLUFj6ulUQKYqp97CjUOZBV1UUmXoCkS9HNyOT2axHkcOsRLi-xlB_JE6KvdglSD23S35EUXK) #include<stdio.h> <span style="font-family:SimHei;font-size:14px;&q

java获取当月天数,指定年月的天数,指定日期获取对应星期 .

1 package com.example.administrator.dayofmonth; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Calendar; 5 import java.util.Date; 6 7 /** 8 * Created by 火龙裸先生 on 2017/4/11 0011. 9 */ 10 11 public class Number_Of_Days { 12 13 /** 14 * 获取当月的

01时间处理--02 指定日期--转成星期

function toweek($date){ $num = date('w',strtotime($date)); $week = array('0'=>'周日','1'=>'周一','2'=>'周二','3'=>'周三','4'=>'周四','5'=>'周五','6'=>'周六'); return $week[$num];}

根据提供的两个固定日期求出相差的月份

最近 在搞日历,给两个指定日期算出相差的天数 这个还好,可还要算出月份      一紧张没想出来,在网上找找,找到了,一看,其实方法 很简单就是没想到 把日期1的年数与12相乘,加上日期1的月份, 把日期2同一操作 然后再两个月份相减 得到的就是月份差, 有人说夸年能行吗? 答案是肯定的, 贴代码 最初的想法不是我 //两个日期 var date1 = '2016-02-26'; var date2 = '2015-11-10'; // 拆分年月日 date1 = date1.split('-'

.Net_用控制台程序打印指定行数的三角型(面试题)

.Net_用控制台程序打印指定行数的三角型(面试题) 下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: 2.在屏幕上打印这个指定了行数的倒三角形. ******* ***** *** * static void Main(string[] args) { while (true) { int k = 1; Console.WriteLine("请输入行数"); int num = Convert

【C#】1.2 控制台应用程序学习要点

分类:C#.VS2015 创建日期:2016-06-14 教材:十二五国家级规划教材<C#程序设计及应用教程>(第3版) 一.要点概述 <C#程序设计及应用教程>(第3版)的第1~6章是C#”语言“层面的编程基础,这些内容虽然都是用控制台应用程序实现(VS2015版的配套源程序还同时提供了WPF的对应实现供参考),但是这些语言层面的基础也同样适用于其他“各种类型”的应用程序,所以是学习C#编程首先必须掌握的内容. 一定要记住,只会用控制台应用程序写程序绝不是最终目的,那样的话你参与

php日期转时间戳,指定日期转换成时间戳

写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但 是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:sele

C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出

C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHandler函数 注意:在VS中调试执行时,在处理程序例程中设置断点,不会中断:会提示:无可用源,如下图: 完整示例代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43