当前位置:首页 » 编程语言 » c语言怎么求日期
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么求日期

发布时间: 2022-06-25 03:22:52

❶ 用c语言编写程序查询日期

YMD_2_JD() 计算年月日 是 该年的第几天。
YMD_2_WeekDay()计算某年月日 是 星期几,用 WeekDayName[] 显示星期几的字符串。

#include<stdio.h>
int YMD_2_JD(int Y, int M, int D){
const short MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int JD,i;
JD=D;
for (i=0;i<M;i++) JD+=MonthDay[i];
if (((Y%4==0)&&(Y%100!=0)||(Y%400==0)) && (M>2)) JD++;
return JD;
}
int YMD_2_WeekDay(int Y, int M, int D){
int offset,jd,weekD;
offset = ((Y-1)+(Y-1)/4-(Y-1)/100+(Y-1)/400) % 7 ;
jd = YMD_2_JD(Y,M,D);
weekD = (jd + offset) % 7;
return weekD;
}
char *WeekDayName[]={" ","Mon","Tue","Wen","Thu","Fri","Sat","Sun"};
main(){
int Y,M,D;
printf("input year month day, for example 2015 3 31:\n");
scanf("%d %d %d",&Y,&M,&D);
printf("It is %dth day\n",YMD_2_JD(Y,M,D));
printf("It is %s.\n",WeekDayName[YMD_2_WeekDay(Y,M,D)]);
return 0;
}

❷ 在c语言程序中怎样计算日期

很烦,你需要知道中间的年份是否为闰年,中间的年份算出来之后,算一下首尾就可以了,总之是闰年的判断

❸ C语言程序设计 计算日期

#include<stdio.h>

bool isday(int day,int mouth,int year)
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++;
if(day>a[mouth-1]||day<1)
return true;
else
return false;
}

void main()
{
int i,year,mouth,day;
int sum,sign;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
do
{
sum=0;sign=0;
puts("请输入年、月、日:");
scanf("%d%d%d",&year,&mouth,&day);
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1;//闰年,记得加1
}
else sum=day;
for(i=0;i<mouth-1;i++)
sum+=a[i];
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))
{
puts("输入错误,请重新输入:");
sign=1;
}
}while(sign);
printf("为第%d天\n",sum);
}

❹ 在c语言程序中如何计算日期

是计算中间间隔的日期吗?是的话很简单,规定输入的格式,然后把年月日什么的都转换成最低的单位,两个日期转换后相减就可以了。。

❺ 求助,c语言,输入日期及天数计算新日期,求代码

#include<stdio.h>

int main()

{ struct date

{ int year,month,day;

} dt;

int i,days,mon[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d%*c%d%*c%d,%d",&dt.year,&dt.month,&dt.day,&days);

dt.day+=days;

while(dt.day>mon[dt.month])

{ if(dt.month==2)

mon[2]=28+(dt.year%4==0&&dt.year%100||dt.year%400==0);

dt.day-=mon[dt.month];

if(++dt.month>12)

{ dt.month=1;

dt.year++;

}

}

printf("result:%d-%d-%d ",dt.year,dt.month,dt.day);

return 0;

}

❻ C语言编程求日期

#include<stdio.h>

int main()

{int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int y,m,d,count;

printf("Input y m d:");

scanf("%d%d%d",&y,&m,&d);

printf("Input count:");

scanf("%d",&count);

d+=count;

while(d>a[m])

{if(m==2)

a[2]=28+(y%4==0&&y%100||y%400==0);

d-=a[m++];

if(m>12){m=1;y++;}

}

printf("%d-%d-%d ",y,m,d);

return 0;

}

❼ C语言日期问题

#include<stdio.h>

#include<math.h>

int main()

{

int a[13]={0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

char b[8][20]={"www","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};

int x,y,sum=0;//上面两个数组的a[0],b[0]都是无关量;这是为了让月数和周数与下标对应;

scanf("%d,%d",&x,&y);

for(int i=1;i<x;i++)

{

sum+=a[i];//求这几个月的整月天数;

}

sum+=y;//再加上零头;

sum%=7;//总天数对7求余,余数就当天的星期数;

for(int i=1;i<=7;i++)

{

if(sum+1==i)//因为1月1号是星期二,往后推一天;

printf("%s",b[i]);

}

return 0;

}

希望能帮到你,望采纳

❽ C语言求日期

#include<stdio.h>
main()
{
int m[13]={0,,31,28,31,30,31,30,31,31,30,31,30,31},n,i,p=1,q;
scanf("%d%d",&q,&n);
(q%4==0)&&(q%100!=0)||(q%400==0)?m[2]=29:m[2]=28;
for(i=1;i<=12;i++)
{
n=n-m[i];
p++;
if(n<=m[i+1])break;
}
printf("%d\n%d_%d\n",m[2],p,n);
}

❾ 在c语言中如何获取当前日期

#include <time.h> 要添加这个头文件。

time_t rawtime;
struct tm * target_time;
time ( &rawtime ); //获取当前时间,存rawtime里
target_time = localtime ( &rawtime ); //获取当地时间
利用struct tm,你可以按需取出年月日时分秒星期几等数值。
---------------------
你的问题:
time_t now;
long int dt=3600; // 时间长度,秒数
now = time (NULL); //获取当前时间
printf("%s ",ctime(&now)); //直接打印时间
now=now+dt;
printf("%s ",ctime(&now)); // 直接打印加dt后的时间

(当然,你也可以用 ctime(&now) 返回的字符串 通过 MFC 的方法显示)

❿ 怎么用C语言输入一个日期,求该日期是该年的第几天

我大概给个思路,代码是现写的 没调试
先定义每个月的天数,2月按28天算
输入年月日后,根据年判断是否闰年(闰年加1天),再从1月加到当月的前一月,再加上日期就可以了

#include <stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
main()
{int yy,mm,dd, days;
int i;
printf("input year:"); scanf("%d", &yy);
printf("input month:"); scanf("%d", &mm);
printf("input day:"); scanf("%d", &dd);
/* 如果大于2月,要做闰年的判断,忘了,不一定准 */
if( mm > 2 && ((year%4==0 && year%100!=0) || year%400==0) ) days = 1;
else days = 0;

/* 加上前面各整月的天数 */
for(i = 0; i < mm-1; i++) days += month[i];

/* 加上日数 */
days += dd;

printf("This is the %d day of year %d!! ", days, yy);
}

比如输入 1999 2 1
应该输出:This is the 32 day of year 1999!!