c语言关于时间的两个函数

原创 2015年11月19日 18:53:46
根据日期转换为星期几,以及由天数得到月份,代码如下:
#include<stdio.h>

int datetoweek(int yr, int mn,int day)
{
int i;
int days=0;
int s;
int week;
int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

if((0==yr%4 && 0!=yr%100)||0==yr%400)
mont[2]=29;
else
mont[2]=28;
for (i=0;i<mn;i++)
days+=mont[i];
days+=day;
s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+days;
week=s%7;

return week;
}


int main()
{
int week1,week2,week3;


week1 = datetoweek(2015,11,17);
week2 = datetoweek(2015,10,17);
week3 = datetoweek(2015,12,17);


printf("week1=%d,week2=%d,week3=%d \r\n",week1,week2,week3);


return 0;
}


/*
int8 GetMonthFromDays(uint32 days,uint32 year, uint32 *returnDays)
{
   int i =0;
   uint32 totalday = 0;
   for(i =0; i < 12 ; i++) {
     if(days < totalday) {
       break;
     }
     if(((year&0x3) == 0)&&(i == 1))
       totalday += 29;
     else 
       totalday += norm_month_table[i];
   }
   if(((year&0x3) == 0)&&(i == 2))
      *returnDays = days - totalday + 29 + 1;
   else 
      *returnDays = days - totalday + norm_month_table[i - 1] + 1;
   return i;
}
*/

运行结果测试正确,如下图:



运行结果如图:
版权声明:本文为博主原创文章,未经博主允许不得转载。

R语言建立时间序列的两个函数

R语言建立时间序列的两个函数ts()和as.xts()的区别

c语言:用getchar函数读入两个字符给c1,c2,用putchar和printf输出。思考问题

用getchar函数读入两个字符给c1,c2,分别用putchar和printf输出这两个字符。思考以下问题:(1)变量c1和c2定义为字符型还是整型?或二者皆可?(2)要求输出c1和c2的ASCII...

C语言 两个分数的四则运算,用函数调用实现

#include /*引用头文件*/ int gys(int x,int y) /*定义求最大公约数函数*/ { return y?gys(y,x%y):x; /*...

利用C语言重定向函数freopen实现交换两个文本文件内容

/* ** Autor: Wangzhicheng ** E-Mail: 2363702560@qq.com ** Date: 2012/10/4 ** Description: 交换两个文件内...

两个c语言的调用函数总结

system(); 函数原型:int system( const char *command ); 我以这个为测试为例:system("abcde"); 显示如下: 'abc...

一个中兴的面试题,输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解(c语言递归函数分解法)

原题目:输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解 c语言解法分析:            先判定n和m的大小,如果m小于n,则只需从1...

C语言中异常处理的两个函数

与刺激的abort()和exit()相比,goto语句看起来是处理异常的更可行方案。不幸的是,goto是本地的:它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言关于时间的两个函数
举报原因:
原因补充:

(最多只允许输入30个字)