當前位置:首頁 » 編程語言 » c語言年月日轉化
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言年月日轉化

發布時間: 2022-07-21 07:11:27

c語言中如何把月日年輸出為年月日

這要看原來的程序中,月日年是怎麼組織的?如果分別存放在三個變數中,那麼只要把這三個變數的輸出順序交換一下就可以了。
例如,
int y,m,dm,d;
printf("請輸入月 日 年:");
scanf("%d%d%d",&m,&d,&y);
printf("%d年%d月%d日",y,m,d);

㈡ c語言問題 求年月日

這里要改一下:
if(year%4==0&&year%100!=0||year%400==0) {
a[1]=29;
}else{
a[1]=28;
}
最後要加個return 0;

㈢ c語言輸入一個天數,輸出對應的年月天

#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
}
return0;
}

㈣ c語言怎麼將一個年月日轉換成秒數

用mktime()函數。

表頭文件:#include <time.h>

定義函數:time_tmktime(structtm*timeptr);

函數說明:mktime()用來將參數timeptr所指的tm結構數據轉換成從公元1970年1月1日0時0分0秒算起至今的UTC時間所經過的秒數。

返回值:返回經過的秒數。

(4)c語言年月日轉化擴展閱讀:

C語言參考函數

C語言isgraph()函數:判斷一個字元是否是圖形字元

C語言isdigit()函數:判斷一個字元是否為數字

C語言iscntrl()函數:判斷一個字元是否為控制字元

C語言isalpha()函數:判斷一個字元是否是字母

C語言isalnum()函數:判斷一個字元是否是字母或者數字

C語言pow()函數:求x的y次方的值

C語言frexp()函數:提取浮點數的尾數和指數部分

㈤ 怎麼用c語言轉換成年月日格式的求助啊。。。

#include<stdio.h>
intmain()
{
intyy,nn,dd,hh,mm,ss,len;
charout[2];
charinput[]="2015-06-2910:55:55pm";

len=sscanf(input,"%d-%d-%d%d:%d:%d%s",&yy,&nn,&dd,&hh,&mm,&ss,out);
printf("%d-%d-%d%d:%d:%d%slen-->%d",yy,nn,dd,hh,mm,ss,out,len);

return0;
}

㈥ C語言輸入年份和天數輸出對應的年月日

C語言輸入年份和天數輸出對應的年月日的源代碼如下:

#include<iostream>

intday(int&year,int&month);

intmain()

{

intyear{};

intmonth{};

std::cout<<"請輸入年和月(空格隔開):";

std::cin>>year>>month;

std::cout<<"該月天數:"<<day(year,month)<<' ';

return0;

}

(6)c語言年月日轉化擴展閱讀

1、C++ 標准庫沒有提供所謂的日期類型。C++ 繼承了 C 語言用於日期和時間操作的結構和函數。為了使用日期和時間相關的函數和結構,需要在 C++ 程序中引用 <ctime> 頭文件。

2、有四個與時間相關的類型:clock_t、time_t、size_t和tm。類型 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。

㈦ c語言,如何進行日期格式轉換

time.h 有函數 strftime 輸出各種格式,但沒有 你的 11th 13rd 格式。
簡單辦法是用查表法

#include "stdio.h"
#include "stdlib.h"
void main()
{
char dmy[20]="13/12/2010";
int i,j;
int a,b,c;
char d[32][5]={"0","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th",
"11th","12th","13rd","14th","15th","16th","17th","18th",
"19th",.....,"31st"}; // 請自己補全
char m[13][4]={" ","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
j = strlen(dmy);
printf("j=%d\n",j);
for (i=0;i<j ;i++) if ( dmy[i] =='/') dmy[i]=' ';
sscanf(dmy,"%d %d %d",&a,&b,&c);
printf("%s %s %d",d[a],m[b],c); // 列印出你要的 13rd Dec 2010

}

㈧ 用c語言從鍵盤任意輸入一個日期(年月日),輸出第二天的日期(年月日)。

源程序如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

using namespace std;

int main()

{

int s[2][13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31,

0,31,29,31,30,31,30,31,31,30,31,30,31, };

int year = 0;

int month = 0;

int day = 0;

int n, i, daytemp;

int flag = 0;

int nyear = 0, nmonth = 0, nday = 0;

printf("輸入年月日 ");

scanf("%d%d%d", &year, &month, &day);

//printf("輸入天數 ");

//scanf("%d",&n);

n = 1;

if (year < 0 || month < 0 || month>12 || day < 1 || n < 0)

{

printf("輸入數據錯誤 ");

return 1;

}

daytemp = day + n;//累加天數

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)//閏年置1

flag = 1;

if (day > s[flag][month])

{

printf("輸入日期與年月不符. ");

return 1;

}

if (daytemp <= s[flag][month])//當前日期加天數在本月

{

nyear = year;

nmonth = month;

nday = daytemp;

}

else

{

i = month;

nyear = year;

while (daytemp > s[flag][i])//循環遞減,直到當前日期加天數在本月

{

daytemp = daytemp - s[flag][i];

i++;

if (i > 12)//超過一年,年累加

{

nyear++;

if ((nyear % 4 == 0 && nyear % 100 != 0) || nyear % 400 == 0)

flag = 1;

else

flag = 0;

i = i - 12;

}

}

nmonth = i;

nday = daytemp;

}

printf("%d年%d月%d日第%d天後是: ", year, month, day, n);

printf("%d年%d月%d日 ", nyear, nmonth, nday);

return 0;

}

程序運行結果如下:



(8)c語言年月日轉化擴展閱讀:

其他實現方式:

int monthsize(int year, int month) {

int days;

if (month == 2) {

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

return 29;

return 28;

}

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:days = 31; break;

case 4:

case 6:

case 9:

case 11: days = 30; break;

}

return days;

}

int main()

int year, month, day, days;

printf("年 月 日:");

while (scanf("%d%d%d", &year, &month, &day) == 3) {

days = monthsize(year, month);

if (days == day) {

if (month == 12) {

++year;

month = 1;

day = 1;

}

else ++month;

}

else ++day;

printf("第二天是:%d/%02d/%02d ", year, month, day);

printf("年 月 日(q to quit):");

}

return 0;

}

㈨ 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);則返回當前時區的時間。

㈩ c語言中如何將年月日時分秒值轉為秒數用unsigned int類型存儲起來

在C/C++中,time()的返回值就是long類型,在32位系統下,與unsigned int長度相等
它就是從1970年1月1日0:0:0到現在的秒數
C/C++有一整套有關time的函數,在time.h中,就是基於秒數的

#include <time.h>
#include <stdio.h>
int main(void)
{
time_t t;
t = time(NULL);
printf("The number of seconds since January 1, 1970 is %ld",t);
return 0;
}