當前位置:首頁 » 編程語言 » 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!!