今天星期几

今天星期几:

对于给定的日期,求出今天是星期几,从元年1年1月1日起。

#include <iostream>
#include <cstdio>
using namespace std;

//对于给定的日期,判断是星期几
void week(int y,int m,int d)
{
    //e代表着 从今年的1月1日到目前的天数
    int t,e;
    switch(m)
    {
    case 1:
        e=d;
        break;
    case 2:
        e=31+d;
        break;
    case 3:
        e=59+d;
        break;
    case 4:
        e=90+d;
        break;
    case 5:
        e=120+d;
        break;
    case 6:
        e=151+d;
        break;
    case 7:
        e=181+d;
        break;
    case 8:
        e=212+d;
        break;
    case 9:
        e=243+d;
        break;
    case 10:
        e=273+d;
        break;
    case 11:
        e=304+d;
        break;
    case 12:
        e=334+d;
        break;
    }
    //如果是润年,天数需要加1
    if((y%4==0&&y%100!=0)||(y%400==0))
        if(m>2) ++e;
    --y;
    /*
    **t=365*y+y/4-y/100+y/400+e;
    **t=(52*7+1)*y+y/4-y/100+y/400+e;
    **y/4-y/100+y/400 代表从元年到今年 闰年多出的天数
    **t%=7;与t=y+y/4-y/100+y/400+e;t=t%7;相同故:
    */
    //类似一个小知识:去年的今天 在星期上 要比今年的今天少一
    t=y+y/4-y/100+y/400+e;
    t=t%7;

    if(t==1)
        printf("Monday\n");
    else if(t==2)
        printf("Tuesday\n");
    else if(t==3)
        printf("Wednesday\n");
    else if(t==4)
        printf("Thursday\n");
    else if(t==5)
        printf("Friday\n");
    else if(t==6)
        printf("Saturday\n");
    else
        printf("Sunday\n");
}

int main()
{
    //从输出结果上看 确实在星期上面少一
    week(2013,8,15);
    week(2014,8,15);
    return 0;
}

今天星期几

时间: 2024-10-14 16:49:54

今天星期几的相关文章

//输出电脑系统的年月日星期以及时间

//输出电脑系统的年月日星期以及时间 var nowDate = new Date(); var year = nowDate.getFullYear(); var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate(): nowDate.getDate(); var hours = nowDate.getHours() <10 ? "0" + nowDate.getHours(): nowDate.

C语言实现时间差、星期、天数算日期(转)

原文地址:http://blog.csdn.net/coder_xia/article/details/6566708 最近因为一个项目需要,默认一个时间值,即当天的前一天日期,顺手就将其他的几个功能一并实现了,主要为 1.两个日期之间的时间差 2.某个日期之后,绝对值差值之后的某个日期 3.某年日期,算出星期几 下面见源码: #ifndef CALCULATE_H #define CALCULATE_H typedef struct { int year; int month; int day

输入年月日计算是星期几

偶然的机会看到了一个计算星期几的算法,感觉很怪异并且很有意思就记录一下,也与大家共勉.自己写的代码有些瑕疵,但重点是计算星期的算法值得思索. 问题:输入年月日计算是星期几? 代码如下: #include <stdio.h>int getWeek(int year, int month, int day){ int aWeek[12] = {0,3,2,5,0,3,5,1,4,6,2,4}; int week = 0; int temp = 0; if(year < 1 || month

安卓开发学习日记(一个星期)

目前进度:开始了一个星期,开始了解JAVA一些常用命令和算法等,能够独立写出一些简单的程序. 学习方法:使用番茄工作法(可使用APP番茄土豆,很好用),计算机科学导论和JAVA语言程序设计交替看,偏重JAVA,不理解的地方找网上视频反复观看理解. 学习兴趣:比较大. 学习效率:一般 日学习时间:3-4小时. 最近学习时间减少了,这点应该反省.一个星期的时间,学习的东西并不多: 基本数据类型,常量,变量,赋值,操作符,选择语句,循环语句,字符串,再写了一些如计算闰年/计算税率等十分简单的程序 ,这

星期几的计算 (if语句)

public boolean chackyear(int str) {// 判断平年,闰年 boolean q = str % 4 == 0; boolean w = str % 100 == 0; boolean e = str % 400 == 0; boolean r = false; if (q) { if (w == false || e) { r = true; } } return r; } public String chackday(int year, int month, i

C语言(7)--高精度加法、减法、乘法、今天是星期几、四位平方数、候选人选票问题

1.高精度加法.减法.乘法 #include <stdio.h> #include <string.h> #include <malloc.h> void plus(char *a,char *b,char *c);//自定义高精度加法函数 void sub(char *a,char *b,char *c);//自定义高精度减法函数 void multiply(char *a,char *b,char *c);//自定义高精度乘法函数 int main() { char

输入一个日期,输出该日期是星期几

假定输入日期合法正确. 先找一个参考日期,找星期天的日期为最好.我一时没想到就选了今天,星期一,也不错.然后求出输入日期与参考日期之间间隔的天数n,n为负时则表示输入日期在参考日期之前,n为正时则表示输入日期在参考日期之后.因为星期为循环星期1到星期天,又根据补码的原理,可知n = ((n % 7) +  8) % 7, 此时的n为几则是星期几.(PS:星期天用0来表示,因为我选的是参考日期是星期一所以是+8,如果选的是星期天则是+7). 1 //给定一个日期,求这个日期是星期几? 2 #inc

python 获取当前日期 星期

from datetime import datetime d =datetime.today()     #获取当前日期时间 d.isoweekday()           #获取时间周几 python 获取当前日期 星期,布布扣,bubuko.com

JS一星期旅途(第一天)

1.闭包: 定义:    指有权访问另一个函数作用域中的变量的函数.比如:函数中创建函数,跟据作用链得知,外层函数有权访问内部函数的变量,即称该内部的函数为闭包. 益处: 从外部读取局部变量  eg: function f1(){ n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999 访问函数局部变量n 让这些变量的值始终保持在内存中 eg: function f1(){ var n=99

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 * 获取当月的