① c語言如何將日期2018-08-21轉化為18年8月
日期轉換:輸入某年某月某日,計算並輸出它是這一年的第幾天。
/* 函數功能:對給定的某年某月某日,計算它是這一年的第幾天。
函數參數:整型變數year、month、day,分別代表年、月、日
函數返回值:這一年的第幾天*/int DayofYear(int year, int month, int day)。
② C語言中 怎樣把日期轉換成字元串
用代碼講解一下:
#include <stdio.h>
#include <time.h>
int main(void)
{
char buffer[128];
struct tm *datetime;
time_t current_time;
tzset();
time(¤t_time);
datetime = localtime(¤t_time);
strftime(buffer, sizeof(buffer), "%x %X", datetime);
printf("Using %%x %%X: %s\n", buffer);
strftime(buffer, sizeof(buffer), "%A %B %m, %Y", datetime);
printf("Using %%A %%B %%m %%Y: %s\n", buffer);
strftime(buffer, sizeof(buffer), "%I:%M%p", datetime);
printf("Using %%I:%%M%%p: %s\n", buffer);
return 1;
}
輸出結果:
Using %x %X: 09/09/12 18:10:33
Using %A %B %m %Y: Sunday September 09, 2012
Using %I:%M%p: 06:10PM
③ C語言 YYYYMMDD 格式的日期轉變為YYYY-MM-DD
#include<stdio.h>
void main()
{
long n;
char data[20],y[10],m[10],d[10];
scanf("頃亮悔%ld",&n);
sprintf(data,"%ld",n); /* 如雀正果是字元串鍵漏,可以直接scanf("%s",data) */
sscanf(data,"%4s%2s%2s", y, m,d);
sprintf(data,"%4s-%2s-%2s",y, m,d);
printf("%s\n",data);
}
④ 關於C語言的問題。設計一個程序,根據用戶的選擇,將1、日期轉換為天數2、將天數轉換為日期。
代碼存在一些問題:
#include<stdio.h
#defineMAXNUM114
#defineMAXNUM214
intmain()
{
inta,b,c,Y,M,D,Days;
intDays_[MAXNUM1]={0,31,28,31,30,31,30,31,31,30,31,30,31};
intDate[MAXNUM2]={0,1,2,3,4,5,6,7,8,9,10,11,12};
printf("Plesechoosewhatyouwanttodo. 1.DatechangeDays 2.DayschangeDate ");
scanf("%d",&a);
if(a==1)
{Days=0;
printf("Pleseenteradate(YMD). ");
scanf("%d%d%d",&Y,&M,&D);
if(Y%4==0&&Y%100!=0||Y%400==0)//這里改下
{
for(b=1;b<M;b++)
純遲if(b==2)//閏年二月加一天
{
Days+=Days_[b]+1; }
else
{
Days+=Days_[b];
}
}else
{
for(b=1;b<M;b++)
{
Days+=Days_[b];
}
}
櫻前Days+=D;
printf("Thedatewhichyouenteristhe%ddays. ",Days);
}else//a==2
{
printf("Pleseenteradays.");
scanf("%d",&Days);
for(b=1;b<13;b++)//未考慮年份的問題
{
脊褲清if(Days<=Days_[b])break;
Days-=Days_[b];
}
printf("Thedaywhichyouenteristhe%d\%ddays. ",b,Days);
}
}
上面是簡單的實現,希望有幫助
⑤ C語言轉換日期的表示形式
這個可以嗎?
#include
void
main()
{
char
num[8];//定義一個字元數組num
int
i;//定義整型變數
printf("請輸入正確的日期!格式為:xxxxxxxx\n");
for(i=0;i<=8;i++)//循環語句,讀入8個字元,依次放到數組num中,作為8個元素
num[i]=getchar();
for(i=0;i<4;i++)//輸出前四個字元(年份)
putchar(num[i]);
putchar('_');
for(;i<6;i++)//輸出(月份)
putchar(num[i]);
putchar('_');
for(;i<8;i++)//輸出(日)
putchar(num[i]);
putchar('\n');//回車
}
⑥ c語言將日期轉換為字元串 急求,謝謝!
#include"stdio.h"
int main()
{ int y,m,d,c,w;
char week[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
scanf("%d%d%d",&y,&m,&d);
if(m<3){m+=12;y--;}
c=y/100;
y%=100;
w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1)%7;
printf("%d%d/%d/%d %s ",c,y,m,d,week[w]);
return 0;
}
⑦ C語言 時間轉化
void convert_sec_time( int nSecond, int &nDay, int &nHour, int &nMin, int &nSec )
{
if( nSecond <= 0 ) return;
//取秒
nSec = nSecond % 60;
//秒到分的取整
nSecond = nSecond - nSec;
//折算成分
nSecond = int( nSecond / 60 );
//取分
nMin = nSecond % 60;
//分到時的取整
nSecond = nSecond - nMin;
//折算成時
nSecond = int( nSecond / 60 );
//取時
nHour = nSecond % 24;
//時到天的取整
nSecond = nSecond - nHour;
//取天
nDay = int( nSecond / 24 );
}
⑧ C語言:日期換算
#include<stdio.h>
intisLeap(inty)
{
if(y%4==0&&y%100!=0||y%400==0)
return1;
else
return0;
}
intgetDays(inty,intm,intd)
{
inti,days=0;
intDaysPerMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
DaysPerMonth[1]=isLeap(y)?29:28;
for(i=0;i<m-1;i++)
{
days+=DaysPerMonth[i];
}
days+=d;
returndays;
}
voidgetDate(inty,intdays,int*pm,int*pd)
{
intm,d,i,temp=0;
intDaysPerMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
DaysPerMonth[1]=isLeap(y)?29:28;
for(i=0;i<12;i++)
{
if(temp<days&&i<12&&temp+DaysPerMonth[i]>=days)
break;
temp+=DaysPerMonth[i];
}
m=i+1;
d=days-temp;
*pm=m;
*pd=d;
}
intmain()
{
inty,m,d,days;
y=2000;
days=getDays(y,12,31);
printf("%d ",days);
getDate(y,days,&m,&d);
printf("%d年的第%d天是%d月%d號 ",y,days,m,d);
return0;
}
⑨ C語言轉換日期的表示形式
#include <stdio.h>
#include <string.h>
int main()
{int month,b,c;
scanf("%d/%d/%d",&month,&b,&c);
switch(month)
{
case 1:printf("Jan,%d,%d\n",b,c);
break;
case 2:printf("Feb,%d,%d\n",b,c);
break;
case 3:printf("Mar,%d,%d\n",b,c);
break;
case 4:printf("Apr,%d,%d\n",b,c);
break;
case 5:printf("May,%d,%d\n",b,c);
break;
case 6:printf("Jun,%d,%d\n",b,c);
break;
case 7:printf("Jul,%d,%d\n",b,c);
break;
case 8:printf("Aug,%d,%d\n",b,c);
break;
case 9:printf("Sep,%d,%d\n",b,c);
break;
case 10:printf("Oct,%d,%d\n",b,c);
break;
case 11:printf("Nov,%d,%d\n",b,c);
break;
case 12:printf("Dec,%d,%d\n",b,c);
break;
default:printf("Data Error\n");
}
return 0;
}
⑩ c語言怎麼將一個年月日轉換成秒數
用mktime()函數。
表頭文件:#include <time.h>
定義函數:time_tmktime(structtm*timeptr);
函數說明:mktime()用來將參數timeptr所指的tm結構數據轉換成從公元1970年1月1日0時0分0秒算起至今的UTC時間所經過的秒數。
返回值:返回經過的秒數。
(10)c語言程序日期轉換擴展閱讀:
C語言參考函數
C語言isgraph()函數:判斷一個字元是否是圖形字元
C語言isdigit()函數:判斷一個字元是否為數字
C語言iscntrl()函數:判斷一個字元是否為控制字元
C語言isalpha()函數:判斷一個字元是否是字母
C語言isalnum()函數:判斷一個字元是否是字母或者數字
C語言pow()函數:求x的y次方的值
C語言frexp()函數:提取浮點數的尾數和指數部分