[ C ]根据年月日判断周几(基姆拉尔森计算公式)

  • 基姆拉尔森计算公式

  是个好东西啊!那我们在什么时候用呢?

  偶尔写程序会用上它,当我们在已知年月日的情况下想要快速的知道这天是周几时,用此公式很方便。

  那下面来见见它的容颜:

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

  个人感觉挺复杂的,不过sei叫它有用呢

  

  具体例子:

  int W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
      switch(W)
      {
      case 0: printf("星期一\n"); break;
      case 1: printf("星期二\n"); break;
      case 2: printf("星期三\n"); break;
      case 3: printf("星期四\n"); break;
      case 4: printf("星期五\n"); break;
      case 5: printf("星期六\n"); break;
      case 6: printf("星期日\n"); break;
      }

原文地址:https://www.cnblogs.com/xzzheng/p/10293836.html

时间: 2024-11-13 10:36:30

[ C ]根据年月日判断周几(基姆拉尔森计算公式)的相关文章

用基姆拉尔森计算公式做一个课表

因为最近上网课,我大部分时间是用电脑上课,课程APP得在手机上打开,我觉得麻烦,就写了一个可以看当天有什么课的程序. 既然要写课表,我们就得创建一个7天循环,并每7天更改一次单双周的判断.这里我用的是基姆拉尔森公式(你不必纠结他的原理,只有能合理的使用就行),用它来获取年月日. 然后我设定了开学的那一天为起始天,每过7天改变单双周课表,这样就完成了啦!. 大概可以实现的功能就是这样,当然也可以用QT再去写一些界面来美化程序,或者用easyX可以,但是代码就是这些了. 写完发现这个根本没什么卵用.

万年历计算星期-基姆拉尔森公式

#include /* * 基姆拉尔森计算公式 * W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 */ int week(int y, int m, int d) { if (m < 3) { m += 12; y--; } int w = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; return w; } int main() { printf("%d\n

计算周几的程序(基姆拉尔森公式)

using System; namespace HELLO { class Program { int week; int y, m, d; static void Main(string[] args) { int y, m, d; Console.WriteLine("请输入年月日"); Console.WriteLine("现在请输入年份"); y = int.Parse(Console.ReadLine()); Console.WriteLine("

基姆拉尔森公式--计算日期周几

基姆拉尔森公式计算日期周几 #include <iostream> using namespace std; string week[] ={"Mon","tue","Wen","Thu","Fri","Sat","Sun"}; int main(){ int y,m,d; while(cin>>y>>m>>d){ if

年月日判断并输出第多少天

方法一: while (true) { Console.Write("输入年:"); int year = int.Parse(Console.ReadLine()); Console.Write("输入月:"); int month = int.Parse(Console.ReadLine()); Console.Write("输入日:"); int day = int.Parse(Console.ReadLine()); bool isok

输入年月日,判断是该年的第几天,还可以进一步判断从1年开始的第几天

//输入年月日,判断是该年的第几天,还可以进一步判断从1年开始的第几天 #include<iostream> using namespace std; int main() { int Day(int x,int y,int r); int Calculate_1(int x,int y,int r); int Calculate_2(int n); int n,y,r;/*****************************************************年,月,日,很明

基姆拉尔森,输入年月日输出周几

先水一篇.....微困 zzz... #include <bits/stdc++.h> using namespace std; int CalcWeekDay(int year, int month, int day){ if(month ==1 || month == 2){ month+=12; year--; } int ret = ((day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)+1)%7; return (0 ==

16、根据年月日获取周几 以及整理的日期常用的工具类

1 /** 2 * @param year 3 * @param month 4 * @param day 5 * @return 6 */ 7 public static String CaculateWeekDay(int y,int m,int d) 8 { 9 10 String strDate = y+"-"+m+"-"+d;// 定义日期字符串 11 SimpleDateFormat format = new SimpleDateFormat("

判断周几

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. Scanner sc = new Scanner(System.in); List<String> ls = new ArrayList<String>(); ls.add("Monday"); ls.add("Tuesday"); ls.add("Wednesday"); ls.add("Thursday")