當前位置:首頁 » 編程語言 » 時間格式轉換c語言代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

時間格式轉換c語言代碼

發布時間: 2023-03-20 06:56:54

1. c語言時間,怎麼把time_t類型的時間,轉化成年、月、日、時、分、秒呢

可以使用gmtime函數或localtime函數將time_t類型的時間日期轉換為struct tm類型(年、月、日、時、分、秒)。
使用time函數返回的是一個long值,該值對用戶的意義不大,一般不能根據其值確定具體的年、月、日等數據。gmtime函數可以方便的對time_t類型數據進行轉換,將其轉換為tm結構的數據方便數據閱讀。gmtime函數的原型如下:struct tm *gmtime(time_t *timep);localtime函數的原型如下:struct tm *localtime(time_t *timep);將參數timep所指的time_t類型信息轉換成實際所使用的時間日期表示方法,將結果返回到結構tm結構類型的變數。gmtime函數用來存放實際日期時間的結構變數是靜態分配的,每次調用gmtime函數都將重寫該結構變數。如果希望保存結構變數中的內容,必須將其復制到tm結構的另一個變數中。gmtime函數與localtime函數的區別:gmtime函數返回的時間日期未經時區轉換,是UTC時間(又稱為世界時間,即格林尼治時間)。localtime函數返回當前時區的時間。
轉換日期時間表示形式time_t類型轉換為struct tm類型示例:
#include <stdio.h>
#include <time.h>
int main()
{
char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};/*指針字元數組*/ time_t t;
struct tm *p;
t=time(NULL);/*獲取從1970年1月1日零時到現在的秒數,保存到變數t中*/ p=gmtime(&t); /*變數t的值轉換為實際日期時間的表示格式*/
printf("%d年%02d月%02d日",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);
printf(" %s ", wday[p->tm_wday]);
printf("%02d:%02d:%02d\n", p->tm_hour, p->tm_min, p->tm_sec);
return 0;
}
注意:p=gmtime(&t);此行若改為p=localtime(&t);則返回當前時區的時間。

2. 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;
}

3. C語言求助:時間格式轉換

#include
<stdio.h>
int
main()
{
int
h,m,s;
while(scanf("%d:%d:%d",&h,&m,&s))
{
if(h!=12)
{
h=h%12;
}
printf("PM:%02d:%02d:%02d\n",h,m,s);
}
}
未通過,是因為但h,m,s是個位數時,比如我輸入12:00:00,輸出的是AM:12:0:0,而不是AM:12:00:00,怎麼辦有什麼辦法?
對你這個問題
格式化輸出就可以了...
看我的代碼...
符合你的要求...

4. c語言編寫 輸入一個以秒為單位的時間值,將其轉化成「時:分:秒」的形式輸出,將轉換操作定義成函數

#include<stdio.h>
void trans(int sec){
int hour,min;
hour=sec/3600; //計算時 3600進制
min=(sec%3600)/60; //計算分 60進制
sec=(sec%3600)%60; //計算秒 餘下的全為秒數
printf("%d時:%d分:%d秒\n",hour,min,sec);
}
int main(){
int sec;
printf("請輸入秒數:\n");
scanf("%d",&sec);
trans(sec);
return 0;
}
可以自己試試

5. C語言實驗--轉換日期格式

#include<stdio.h>

intmain(void)
{
inty,m,d;
scanf("%d/%d/%d",&m,&d,&y);
printf("%d.%02d.%02d",y,m,d);
return0;
}

6. 時間換算 c語言

#include<stdio.h>

intmain()
{
inthh,mm,ss;
intadd;
scanf("%d:%d:%d",&hh,&mm,&ss);
scanf("%d",&add);

ss=ss+add;
if(ss>=60){
ss=ss-60;
mm++;
if(mm>=60){
mm=mm-60;
hh++;
if(hh>=24){
hh=hh-24;
}
}
}
printf("%d:%d:%d ",hh,mm,ss);
}

7. 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');//回車
}